דילוג לתוכן

קטגוריות נבחרות

מה המשמעות של כל תו בביטוי Cron?

מה המשמעות של כל תו בביטוי Cron?

מבוא לקביעת לוחות זמנים

מערכת ה-Cron היא כלי רב עוצמה בלינוקס ובמערכות דומות, המאפשר למשתמשים לבצע משימות (Script או פקודות) בזמנים קבועים. כל משימה שנקבעה באמצעות Cron נשמרת בקובץ שנקרא crontab. על מנת להבין את מבנה ה-crontab, חשוב לדעת מה המשמעות של כל תו בביטוי Cron.

מבנה הביטוי

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

הסינטקס הבסיסי של ביטוי Cron הוא:

* * * * * /path/to/command

כאשר כל כוכבית (*), מייצגת את הפרמטרים הבאים:

  1. דקות (0-59)
  2. שעות (0-23)
  3. ימים בחודש (1-31)
  4. חודשים (1-12)
  5. ימים בשבוע (0-7 כאשר 0 ו-7 מייצגים את יום ראשון)

פירוש כל שדה בביטוי

1. דקות (Minute)

שדה הדקות מייצג את הדקות שבהן יופעל המשימה, ומקבל ערכים בין 0 ל-59. לדוגמה:

  • 0 פירושו שהמשימה תתבצע בדקה ה-0 של השעה.
  • 5 תתבצע בדקה ה-5.
  • */10 תבצע כל עשר דקות.

2. שעות (Hour)

שדה השעות מייצג את השעות שבהן תתבצע המשימה, ומקבל ערכים בין 0 ל-23. לדוגמה:

  • 0 פירושו שהמשימה תתבצע בחצות (12:00 AM).
  • 14 תתבצע בשעה 14:00 (או 2:00 PM).
  • */2 תתבצע בכל שעתיים.

3. ימים בחודש (Day of Month)

שדה ימים בחודש מייצג את הימים שבהם תתבצע המשימה במהלך החודש. הערכים האפשריים הם בין 1 ל-31. לדוגמה:

  • 1 פירושו שהמשימה תתבצע ביום הראשון של החודש.
  • 15 תתבצע ביום ה-15.
  • */5 תתבצע כל חמישה ימים (1, 6, 11, 16, 21, 26, 31).

4. חודשים (Month)

שדה זה מייצג את חודשים השנה, עם ערכים בין 1 ל-12. לדוגמה:

  • 1 פירושו חודש ינואר.
  • 6 פירושו חודש יוני.
  • */3 תתבצע כל שלושה חודשים (ינואר, אפריל, יולי, אוקטובר).

5. ימי בשבוע (Day of Week)

שדה זה מייצג את ימי השבוע, כאשר 0 או 7 מייצגים את יום ראשון, ו-1 עד 6 מייצגים את הימים שני עד שבת. לדוגמה:

  • 0 או 7 לפעולה ביום ראשון.
  • 1 לפעולה ביום שני.
  • */2 תתבצע כל יום שני וחמישי (לעיתים יש לקטוע בין הימים).

תווים מיוחדים בביטוי Cron

בנוסף לערכים הרגילים, קיימים תווים מיוחדים שיכולים לשמש בביטוי Cron:

  1. *כוכבית ()**: מציינת "כל ערך אפשרי". לדוגמה, בשדה שעות כוכבית תגרום להפעיל את הפקודה בכל שעה ביום.

  2. פסיק (,): משמש להפרדת ערכים. לדוגמה, בשדה ימים, 1,15 תגרום להפעלת המשימה ב-1 וב-15.

  3. מקפים (-): מייצגים טווח. לדוגמה, בשדה שעות, 8-10 פירושו שהמשימה תתבצע בשעות 8, 9 ו-10.

  4. סולמית (/): משמשת לציון צעדים. לדוגמה, */5 בשדה דקות תבצע את המשימה כל 5 דקות.

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

דוגמאות מפורטות

כדי להבין את השימושים השונים, נציג כאן מספר דוגמאות עם הסבר לכל אחת מהן:

  • 0 12 * * * /path/to/command – זו משימה שתתבצע כל יום בשעה 12 בצהריים.

  • */15 9-17 * * 1-5 /path/to/command – משימה שתתבצע כל 15 דקות, בין השעות 9 ל-17, בימים שני עד שישי.

  • 0 0 1 * * /path/to/command – הפעלת הפקודה בכל תחילת חודש.

  • 0 21 * * 5 /path/to/command – הפעלת הפקודה כל יום שישי בשעה 21:00.

  • 0 3 * * 1-5 /path/to/command – הפעלת הפקודה כל יום שני עד שישי בשעה 3:00 לפנות בוקר.

טיפים לכתיבת ביטוי Cron

  1. תכנון מראש: לפני הכתיבה, תכנון זמנים מדויק חשוב כדי להימנע מתקלות.

  2. שימוש באתרים לבדוק Cron: ישנם אתרי עזרה שיכולים לבדוק אם ביטוי Cron שהכנת תקין.

  3. בדיקות ידניות: השתמש בפקודות לוג כדי לוודא שהפקודות שלך פועלות כראוי.

הבנה מעמיקה של כל אחד מהמרכיבים שמרכיבים את ביטוי ה-Cron תאפשר למי שמשתמש במערכת לא רק לתזמן משימות בצורה מסודרת אלא גם להבין את האפשרויות והגמישות שמערכת זו מציעה.

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

  • גיבויים אוטומטיים: ניתן להגדיר גיבוי יומי או שבועי של מסדי נתונים או קבצים.

  • אם תקשורתי: שליחת דוא"ל אוטומטי או ביצוע של פעולות בדיקות שגרתיות של אתרי אינטרנט.

  • תחזוקת שרתים: הפעלת סקריפטים שמבצעים ניקוי של קבצים זמניים או קבצים לא בשימוש על מנת לשמור על יעילות המערכת.

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

עם הידע הנאות על משמעותם של כל תו בביטוי Cron, תוכל לנצל את המערכת ביעילות ולהפוך את המשימות האוטומטיות שלך לקלות וברורות.

שיתוף

9 מחשבות על “מה המשמעות של כל תו בביטוי Cron?”

  1. תו בביטוי Cron משמעותו היא להגדיר את הזמן שבו הפעולה תתבצע ואת התדירות שלה.

  2. ענת יעקובי

    התוכניות ב-crontab מתחילות עם תו הכוכבית * שמייצג את כל הערכים או כל הזמנים.

  3. Leah Schwartzman

    תזכיר לי איך לפרוס את הפונקציות של crontab בבקרת הגישה?

  4. לפי ההבנה שלי, תו בביטוי Cron מציין את הזמן שבו יתבצע הפעולה, כמו כן גם את התדירות שלה.

כתיבת תגובה

מאמרים

רוצה לפרסם אצלנו ? הצעת מחיר?

Scroll to Top