מדריך לביטויי כתר
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.
ראינו גם מספר דוגמאות ביטוי בהן אנו יכולים להשתמש בעבודה היומיומית שלנו, או פשוט להסיק ביטויים אחרים מ.