dt devtool.co.il כלים לפיתוח — בעברית
זמן ותאריכים 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 שדות.

    כלים קשורים