מחולל ביטויי Cron והסבר

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

רץ בדפדפן שלכםבלי הרשמהשום דבר לא מועלה

דקהשעהיום (בחודש)חודשיום (בשבוע)

בונה ויזואלי

10 ההרצות הבאות

    איך משתמשים בכלי מחולל ביטויי Cron

    1. הקלידו ביטוי cron כמו */15 * * * *, או לחצו על תבנית מוכנה.
    2. קראו את התיאור בשפה פשוטה כדי לוודא שהוא עושה את מה שציפיתם. שדות לא תקינים מסומנים יחד עם הסיבה.
    3. השתמשו בלשוניות של הבונה הוויזואלי כדי להגדיר דקה, שעה, יום בחודש, חודש ויום בשבוע עם כל, כל N, ספציפי או טווח.
    4. בדקו את 10 ההרצות הבאות, ובחרו את אזור הזמן של השרת אם הוא שונה משלכם.
    5. העתיקו את הביטוי ל-crontab, ל-CronJob של Kubernetes, ל-schedule של GitHub Actions או לתצורת ה-CI.

    תחביר cron בדקה אחת

    ביטוי cron סטנדרטי מכיל חמישה שדות המופרדים ברווחים:

    ┌───────────── minute (0-59)
    │ ┌─────────── hour (0-23)
    │ │ ┌───────── day of month (1-31)
    │ │ │ ┌─────── month (1-12 or JAN-DEC)
    │ │ │ │ ┌───── day of week (0-7 or SUN-SAT, 0 and 7 are Sunday)
    │ │ │ │ │
    * * * * *  command
    סימןמשמעותדוגמה
    *כל ערך* * * * * כל דקה
    ,רשימה0 9,17 * * * ב-09:00 וב-17:00
    -טווח0 9 * * 1-5 בימי חול ב-09:00
    /צעד*/10 * * * * כל 10 דקות
    @dailyמאקרוזהה ל-0 0 * * *; קיימים גם @hourly, @weekly, @monthly, @yearly, @reboot

    המלכודת של יום בחודש / יום בשבוע

    כאשר שני שדות הימים מוגבלים (אף אחד מהם אינו מתחיל ב-*), cron מריץ כאשר אחד מהם מתקיים. לכן 0 0 13 * 5 רץ בכל 13 בחודש וגם בכל יום שישי, ולא רק ביום שישי ה-13. המחולל הזה פועל לפי הכלל של Vixie cron, והתיאור כולל את המילה „או” כדי שתשימו לב.

    אזורי זמן ושעון קיץ

    cron משתמש באזור הזמן המקומי של השרת, אלא אם הוגדר אחרת (CRON_TZ= בחלק מהמימושים, timeZone ב-CronJobs של Kubernetes; GitHub Actions משתמש תמיד ב-UTC). בחרו את אזור הזמן הזה בתצוגת ההרצות. משימות שמתוזמנות בתוך פער של מעבר לשעון קיץ (למשל 02:30 בלילה שבו מקדימים את השעון) מדולגות בתצוגה, כי השעה המקומית הזו לעולם לא מתרחשת.

    לוחות זמנים נפוצים

    • */5 * * * *: כל 5 דקות
    • 0 */2 * * *: כל שעתיים, בשעה עגולה
    • 0 9 * * 1-5: ‏09:00 בימי חול
    • 0 0 1 * *: חצות ביום הראשון של כל חודש
    • 0 3 * * 0: ‏03:00 בכל יום ראשון, חלון גיבוי טיפוסי

    שאלות נפוצות

    איך מריצים משימת cron כל 5 דקות?
    השתמשו ב-*/5 * * * *. הצעד /5 בשדה הדקות פירושו כל דקה חמישית החל מ-0: ‏00, 05, 10 וכן הלאה.
    האם cron תומך בשניות?
    crontab סטנדרטי לא; היחידה הקטנה ביותר היא דקה אחת. Quartz,‏ Spring וחלק ממתזמני הענן מוסיפים שדה שניות (6 או 7 שדות). הכלי הזה מאמת את הפורמט הסטנדרטי בן 5 השדות ומודיע לכם כשהוא רואה 6 שדות.
    יום ראשון הוא 0 או 7?
    שניהם. בשדה היום בשבוע גם 0 וגם 7 מייצגים את יום ראשון, ואפשר גם לכתוב שמות כמו SUN או MON-FRI.
    למה המשימה שלי רצה ביותר ימים משציפיתי?
    אם הגבלתם גם את היום בחודש וגם את היום בשבוע, cron מריץ כאשר אחד מהם מתקיים. הגדירו אחד מהם ל-* כדי שרק השני יקבע.
    באיזה אזור זמן מוצגים מועדי ההרצה הבאים?
    כברירת מחדל, באזור הזמן של הדפדפן שלכם. בחרו מהרשימה את אזור הזמן של השרת (לרוב UTC) כדי לראות בדיוק מתי המשימה תופעל שם.

    כלים קשורים