דלג לתוכן הראשי

בונה ביטויי Cron בחינם

בנה, אמת והסבר ביטויי cron למשימות מתוזמנות. תיאור באנגלית פשוטה, תצוגה מקדימה של 5 הרצות הבאות ופריסות תבנית נפוצות.

פועל לא-מקוון לאחר טעינה
דקה
(0-59)
שעה
(0-23)
יום
(1-31)
חודש
(1-12)
יום בשבוע
(0-7)

בשפה פשוטה

בשעה 09:00, שני עד שישי.

תבניות נפוצות

תואם Unix cron סטנדרטי, GitHub Actions, Kubernetes CronJob ורוב מערכות התזמון. השתמש ב-* עבור 'כל', */5 עבור 'כל 5', 1-5 לטווחים, 1,15 לערכים ספציפיים. גם מקבל @hourly, @daily, @weekly, @monthly, @yearly, ושמות כמו MON-FRI או JAN-DEC.

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

  • בנה Cron לזרימות עבודה של GitHub ActionsGitHub Actions משתמש בתחביר cron לזרימות עבודה מתוכננות. בנה ובדוק את לוח הזמנים שלך כאן.
  • בנה Cron ל-Kubernetes CronJobsמשאבי Kubernetes CronJob משתמשים בתחביר cron סטנדרטי. בנה והסבר את הביטוי באופן ויזואלי.
  • בנה ערכי Cron ל-Linux crontabבנה ביטויים ל-Unix cron מסורתי (cron, crontab -e) בביטחון.
  • תזמן משימות תחזוקת בסיס נתוניםתזמן קבצי גיבוי, ואקום או ניתוח משימות בביטחון באמצעות ביטויי cron.
  • למד כיצד עובדים ביטויי Cronכל התאמה מציגה הסבר אנגלית מיידי ותצוגה מקדימה של 5 הריצות הבאות — הדרך הטובה ביותר ללמד cron.

כיצד זה עובד

בונה ביטוי ה-cron פועל כולו בדפדפן שלך באמצעות מפענח כתוב-יד ב-lib/cron.ts — ללא ספרייה חיצונית, ללא קריאה לשרת. הוא מאמת את הביטוי, מרכיב תיאור בשפה פשוטה באמצעות APIs מובנים Intl.DateTimeFormat ו-Intl.ListFormat של הדפדפן לשמות ימים וחודשים מודעי-אזור, ומחשב את זמני ההרצה המתוזמנים הבאים על ידי צעידה קדימה בזמן עם לוגיקת דילוג-שדות במקום כוח גס על כל דקה.

  1. 1
    הביטוי מפוענח שדה-אחר-שדה
    המפענח מפצל את הביטוי לחמישה (או שישה) שדות מופרדי-רווח ומפרק כל אחד לפסיקים, טווחים (למשל 1-5), סימון צעד (למשל */15), וערכים בעלי שם כמו MON או JAN. @macros כמו @daily מורחבים לשווי הערך שלהם בחמישה שדות לפני שהפענוח מתחיל. ערכים לא תקינים או מספרים מחוץ לטווח עולים כמפתחות שגיאה מוקלדים שממופים להודעות מותאמות-שפה.
  2. 2
    תיאור קריא-לאדם מורכב
    describeCron() ב-lib/cron.ts בונה את המשפט באנגלית (או מותאם-שפה) על ידי בדיקה אילו שדות הם תווי-כל לעומת קבוצות מפורשות. שמות ימים וחודשים נפתרים דרך Intl.DateTimeFormat עם אזור השפה הפעיל, ופריטי רשימה מחוברים באמצעות Intl.ListFormat כך שהחיבור ('and' לעומת ',' או צורה ספציפית-לאזור) תואם לשפת המשתמש.
  3. 3
    זמני הרצה הבאים מחושבים עם דילוג שדות
    nextRuns() צועד אובייקט Date קדימה מהרגע הנוכחי, אך מדלג על חודשים, ימים או שעות שלמים שלא יכולים להתאים במקום לבדוק כל דקה. זה אומר שלוח זמנים בלתי אפשרי כמו 30 בפברואר יוצא מהר דרך בדיקת אופק של חמש שנים במקום ללולאה 2.6 מיליון פעמים.
  4. 4
    הביטוי משותף דרך קטע הכתובת
    כל ביטוי שאתה מקליד נכתב לקטע כתובת הדף כ-#expr= (בהשהיה של 500 מ"ש דרך window.history.replaceState). הקטע לעולם לא נשלח לשרת; הדף מתמלא ממנו בטעינה, כך ששיתוף או סימון כתובת משחזר את הביטוי המדויק ללא מצב שרת כלשהו.

כלים קשורים

שאלות נפוצות