מדריך לביטויי כתר

1. סקירה כללית

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

קרון פועל כתהליך דמון - זה אומר שצריך להתחיל אותו רק פעם אחת והוא ימשיך לרוץ ברקע. תהליך זה עושה שימוש ב crontab לקרוא את ערכי לוחות הזמנים ומתחיל את המשימות.

שעות נוספות, פורמט הביטוי cron אומץ באופן נרחב ותוכנות וספריות רבות אחרות עושות בו שימוש.

2. עבודה עם Crontab

א קרון לוח הזמנים הוא קובץ טקסט פשוט הנמצא תחת / var / spool / cron / crontabs במערכות לינוקס. אנחנו לא יכולים לערוך את crontab קבצים ישירות; עלינו לגשת אליו באמצעות ה- crontab פקודה.

למשל, לפתוח crontab קובץ, עלינו להפעיל פקודה זו:

crontab -e

כל שורה פנימה crontab הוא ערך עם ביטוי ופקודה להפעלה:

* * * * * /usr/local/ispconfig/server/server.sh

ערך זה מריץ את התסריט המוזכר מדי דקה.

3. ביטוי קרון

בואו נבין את קרון ביטוי; הוא מורכב מחמישה שדות:

3.1. תווים מיוחדים בביטוי

  • * (את כל) - מציין שהאירוע צריך לקרות לכל יחידת זמן. לדוגמה, “*” ב <דקה> שדה - פירושו "לכל דקה"
  • ? (כל) - הוא מנוצל ב- <יום בחודש> ו <יום השבוע>שדות לציון הערך השרירותי - הזניח את ערך השדה. לדוגמה, אם אנו רוצים להפעיל סקריפט ב"החמישי בכל חודש "ללא קשר למה שיום השבוע חל על תאריך זה, אנו מציינים"?”ב <יום בשבוע> שדה
  • - (טווח) - קובע את טווח הערכים. לדוגמה, "10-11”ב שדה פירושו "שעות 10 ו -11"
  • , (ערכים) - מציין ערכים מרובים. לדוגמה, "MON, WED, FRI ” ב <יום בשבוע> שדה פירושו בימים "שני, רביעי ושישי"
  • / (תוספות) - מציין את הערכים המצטברים. לדוגמא, א “5/15” ב <דקה>שדה, פירושו "5, 20, 35 ו -50 דקות של שעה"
  • L (אחרון) - יש לו משמעויות שונות כאשר משתמשים בו בתחומים שונים. לדוגמה, אם הוא מוחל ב- <יום בחודש>שדה, אז זה אומר היום האחרון בחודש, כלומר "31 לינואר" וכן הלאה לפי החודש הקלנדרי. ניתן להשתמש בו עם ערך קיזוז, כמו "L-3", המציין את" היום השלישי האחרון בחודש הקלנדרי ". ב <יום בשבוע>, הוא מציין את "היום האחרון בשבוע". ניתן להשתמש בו גם עם ערך אחר ב- <יום בשבוע>, כמו "6 ליטר", המציין את" יום שישי האחרון "
  • W (יום חול) - קובע את יום השבוע (שני עד שישי) הקרוב ליום נתון בחודש. לדוגמא, אם אנו מציינים "10W”ב <יום בחודש>שדה, אז זה אומר "יום חול קרוב לעשירית אותו חודש". אז אם "10" הוא יום שבת, אז העבודה תופעל ב "9", ואם "10" הוא יום ראשון, אז זה יופעל ב "11". אם נציין “1W”ב <יום בחודש> ואם "1" הוא יום שבת, העבודה תופעל ב" -3 "שהוא יום שני, והיא לא תקפוץ לחודש הקודם
  • # - מציין את "נהמופע של ה-ה 'של יום חול בחודש, למשל, ניתן לציין את "יום שישי השלישי בחודש" כ"6#3

3.2. דוגמאות לביטוי קרון

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

בשעה 12:00 בערב (צהריים) כל יום:

0 12 * * ?

כל חמש דקות החל מהשעה 13:00 ומסתיים בשעה 13:55 ואז מתחיל בשעה 18:00 ומסתיים בשעה 18:55, כל יום:

0/5 13,18 * * ?

כל דקה מתחילה בשעה 13:00 ומסתיימת בשעה 13:05, כל יום:

0-5 13 * * ?

בשעה 13:15 ובשעה 13:45 בכל יום שלישי בחודש יוני:

15,45 13? 6 יום שלישי

בשעה 9:30 בכל יום שני, שלישי, רביעי, חמישי ושישי:

30 9? * MON-FRI

בשעה 9:30 ביום ה -15 בכל חודש:

30 9 15 * ?

בשעה 18 בערב ביום האחרון של כל חודש:

0 18 ליטר *?

בשעה 18:00 ביום השלישי האחרון של כל חודש:

0 18 L-3 *?

בשעה 10:30 ביום חמישי האחרון בכל חודש:

30 10? * 5 ליטר

בשעה 10:00 ביום שני השלישי בכל חודש:

0 10 ? * 2#3

בשעה 12 בבוקר חצות בכל יום במשך חמישה ימים החל מהיום העשירי לחודש:

0 0 10/5 * ?

4. מיתרים מיוחדים של קרון

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

  • @לְאַתחֵל- לרוץ פעם אחת בהקמה
  • @שְׁנָתִי אוֹ @ שנתי - לרוץ פעם בשנה
  • @יַרחוֹן- לרוץ פעם בחודש
  • @שְׁבוּעִי- לרוץ פעם בשבוע
  • @יום יומיאוֹ @חצות- לרוץ פעם ביום
  • @hourly- לרוץ מדי שעה

5. מסקנה

במאמר מהיר זה, בחנו את קרון עבודות ו crontab.

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


$config[zx-auto] not found$config[zx-overlay] not found