זמן ותאריכים Cron Builder
בונה Cron
בניית וביאור ביטויי cron בעברית פשוטה
דקהשעהיום-בחודשחודשיום-בשבוע
משמעות
5 ההרצות הבאות (שעון ישראל)
מה זה cron?
cron הוא מערכת Unix להרצת משימות לפי לוח זמנים. ביטוי cron (crontab expression) מורכב מחמישה שדות שמתארים מתי להריץ:
* * * * * │ │ │ │ │ │ │ │ │ └── יום בשבוע (0-6, 0=ראשון) │ │ │ └──── חודש (1-12) │ │ └────── יום בחודש (1-31) │ └──────── שעה (0-23) └────────── דקה (0-59)
תווים מיוחדים
*— כל ערך אפשרי (בשדה "דקה" משמעו "כל דקה"),— רשימה:1,15,30(דקה 1, 15 ו-30)-— טווח:1-5(1 עד 5 כולל)/— צעד:*/10(כל 10 יחידות) או5/15(החל מ-5, כל 15)
דוגמאות שימושיות
0 2 * * *— כל לילה ב-02:00 (שעת backup נפוצה)*/10 9-17 * * 1-5— כל 10 דקות בין 9 ל-17, ימי חול בלבד0 0 1 */3 *— פעם ברבעון (ראשון לחודש, כל שלושה חודשים)30 23 * * 0— כל מוצאי-שבת (במובן cron: יום ראשון בלילה) ב-23:30
מלכודות נפוצות
יום-בחודש ו-יום-בשבוע יחד
ב-cron סטנדרטי, כאשר שני השדות האלה לא *, הם משתמשים ב-או (OR) ולא ב-וגם (AND). לדוגמה, 0 0 15 * 1 ירוץ גם ב-15 לחודש וגם בכל יום שני — לא רק ב-15 לחודש אם הוא יום שני.
אזור זמן
cron רץ לפי שעון השרת. אם השרת ב-UTC והזמן בביטוי הוא מקומי בראש שלך — יהיה פער. בדוק עם date את שעון השרת לפני הגדרה.
אין שנייה
cron סטנדרטי לא תומך בשניות. הרזולוציה הכי גבוהה היא דקה. מערכות מסוימות (כמו Quartz ב-Java, ו-Kubernetes CronJob) תומכות בשדה שניות נוסף — הכלי כאן עובד על הגרסה הסטנדרטית של 5 שדות.