ממיר חינם

ביטוי קרון גנרטור

צור, הסביר ואמת ביטויי cron באופן מיידי בדפדפן שלך. בונה חזותי ומנתח ביטויים - חופשי, פרטי וצד הלקוח.

ביטוי קרון
0 */6 * * *
תיאור קריא לאדם
Every minute
5 הריצות המתוכננות הבאות
Calculating...

אודות כלי זה

ביטויי Cron הם חמישה (או שישה, תלוי במערכת) שדות מופרדים ברווחים המתארים לוח זמנים: דקה, שעה, יום בחודש, חודש ויום בשבוע. כל שדה מקבל ערכים מספריים, טווחים, רשימות, מרווחים ותווים כלליים. Cron הוא פורמט תזמון ה-Unix דה פקטו מאז שנות ה-70 המאוחרות וכעת נעשה בו שימוש הרבה מעבר ל-Unix - על ידי Kubernetes CronJobs, GitHub Actions, כללי AWS EventBridge, משרות Jenkins וכמעט כל מערכת תזמון אחרת בייצור.

קריאה וכתיבת ביטויי cron ביד היא מועדת לטעויות. השדות הם מיקומיים, האינטראקציה בין יום לחודש ויום בשבוע אינה ברורה (ערך בכל אחד מהתחומים מפעיל את העבודה, לא בשניהם), וטעויות מייצרות בשקט לוחות זמנים שנראים נכונים אך יורים בזמנים לא נכונים. מחולל שמתרגם לוחות זמנים באנגלית פשוטים לתחביר cron נכון מונע את הטעויות הללו.

כלי זה מציע שני כיוונים: בניית ביטוי קרון מצורה ידידותית (כל יום שני ב-9 בבוקר, כל 5 דקות בשעות העבודה), והסבר ביטוי קרון קיים במונחים אנושיים. שניהם פועלים בדפדפן שלך ללא כל אינטראקציה עם שרת.

למה להשתמש במחולל קרון?

תחביר קרון צפוף ולא סלחן. טעויות נפוצות כוללות בלבול של מספור יום בשבוע (יום ראשון הוא 0 או 7 בהתאם למערכת), שכחה שיום-חודש ויום-שבוע משתמשים בסמנטיקה OR, ואי הבנה של תחביר ההגדלה (*/5 פירושו כל 5 שמתחיל ב-0). מחולל תופס אותם לפי בנייה - ביטויים שנוצרו תואמים למה שתיארת בטופס.

לקרוא ביטויים קיימים קשה באותה מידה. לוח זמנים כמו 0 9 * * 1-5 נקרא כמו בכל יום חול בשעה 9 בבוקר ברגע שאתה יודע את התחביר, אבל מי שלא מכיר את cron צריך לחפש כל שדה. הסבר הביטוי במונחים אנושיים מהיר יותר מאשר לימוד התחביר לאינטראקציות חד פעמיות.

כיצד להשתמש

בחר דפוס לוח זמנים, קבל את ביטוי הקרון.

  1. בחר מצב הדור: בנו ביטוי cron מכניסות טופס (תדירות, זמן, ימים), או הסבירו ביטוי קיים במונחים אנושיים.
  2. הגדר את לוח הזמנים: בחר את התדירות (כל דקה, כל שעה, כל יום, כל שבוע, כל חודש, מותאם אישית). ציין זמנים, ימים ומרווחים לפי הצורך. הטופס מגביל את הקלט לשילובים חוקיים.
  3. ליצור או להסביר: Generation מייצר תחביר cron סטנדרטי (5 שדות). ההסבר מפרק כל שדה ונותן סיכום קריא על ידי אדם.
  4. השתמש בלוח הזמנים שלך: הדבק את הביטוי שנוצר במפרט Kubernetes CronJob, לוח הזמנים של GitHub Actions, AWS EventBridge או מתזמן הפלטפורמה שלך.

מקרי שימוש נפוצים

פרטים טכניים

ל-cron הסטנדרטי יש חמישה שדות: דקה (0-59), שעה (0-23), יום בחודש (1-31), חודש (1-12), יום בשבוע (0-6 או 0-7, שניהם יום ראשון). כל שדה מקבל ערך יחיד, רשימה מופרדת בפסיקים, טווח עם מקף, הגדלה עם / או תו כללי עם *.

השתמשו בסמנטיקה של OR ביום לחודש ויום בשבוע: אם אחת מהן מוגדרת לערך ללא תווים כלליים, העבודה פועלת כאשר אחת מהן תואמת. זה מנוגד לאינטואיציה אבל תואם את התנהגות הקרון של POSIX. הגדרת שני השדות מייצרת לוח זמנים רחב יותר, לא צר יותר.

הרחבות משתנות בהתאם ליישום. חלקם מקבלים שדה שישי לשניות (קוורץ, אביב); חלק מקבלים? כחלופה של תווים כלליים; חלקם כוללים קיצורי דרך @שנתי, @חודשי, @יומיים. הגנרטור מייצר קרון סטנדרטי של 5 שדות המתאים לרוב המערכות.

שיטות עבודה מומלצות

שאלות נפוצות

מהו פורמט הביטוי cron?
cron סטנדרטי משתמש ב-5 שדות: דקה (0-59), שעה (0-23), יום בחודש (1-31), חודש (1-12), יום בשבוע (0-7, כאשר 0 ו-7 הם יום ראשון). תווים מיוחדים: * (כל), , (רשימה), - (טווח), / (שלב).
כיצד אוכל להגדיר עבודה לפעול כל 5 דקות?
השתמש ב-*/5 בשדה הדקה: '*/5 * * * *'. ה-/5 פירושו 'כל ערך חמישי'. באופן דומה, */15 = כל 15 דקות, */2 = כל 2 דקות.
באיזה אזור זמן משתמש cron?
Cron משתמש בדרך כלל באזור הזמן של המערכת. בשרתי לינוקס, זה בדרך כלל UTC אלא אם כן מוגדר אחרת. שירותי ענן (AWS, GCP) לעתים קרובות כברירת מחדל ל-UTC. בדוק תמיד את הגדרת אזור הזמן של המערכת שלך.
האם זה אותו פורמט שבו משתמשים GitHub Actions?
GitHub Actions משתמש באותו פורמט של 5 שדות אך פועל באזור זמן UTC. גם AWS CloudWatch ו-Kubernetes CronJobs משתמשים בפורמט זה. מערכות מסוימות כמו Quartz משתמשות בפורמט מורחב של 6-7 שדות עם שניות.
מה ההבדל בין 0 ביום בשבוע ל-7?
שניהם מתכוונים ליום ראשון. POSIX cron מקבל 0–6 או 0–7. השתמש באיזה יישום cron הספציפי שלך מעדיף; רובם מקבלים את שניהם.
האם ההסבר מדויק עבור קרון לא סטנדרטי?
זה מכוון ל-cron סטנדרטי של 5 שדות. הרחבות קוורץ (עם שניות), גרסאות AWS EventBridge וניבים אחרים עשויים שלא לנתח כראוי. אשר מול התיעוד של מערכת היעד.
האם הביטוי שלי נשלח לשרת?
לא. היצירה וההסבר מתרחשים בדפדפן שלך.
מה לגבי הקיצורים @שנתי, @חודשי?
יישומי cron נפוצים תומכים ב-@yearly, @monthly, @weekly, @dayly, @hourly ו-@reboot כקיצורי דרך עבור לוחות זמנים נפוצים. המחולל מייצר ביטויים סטנדרטיים של 5 שדות; אתה יכול להחליף ידנית קיצורי דרך אם המתזמן שלך מקבל אותם.