איך ליצור ולנהל עבודות Cron בלינוקס

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

משימות קרון רצות ברקע ובודקות באופן קבוע את הקובץ /etc/crontab, ואת התיקיות /etc/cron.*/ ו /var/spool/cron/. קבצי הקרון אינם אמורים להיערך ישירות ולכל משתמש יש crontab ייחודי.

אז איך אתה אמור ליצור ולערוך משימות קרון? באמצעות פקודות crontab. ה-crontab הוא השיטה שאתה משתמש בה כדי ליצור, לערוך, להתקין, להסיר, ולרשום משימות קרון.

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

$ crontab -e

תחבירת Cron

כפי שזה קורה עם כל שפה, העבודה עם cron היא הרבה יותר קלה כאשר אתה מבין את התחביר שלו וישנם 2 פורמטים שעליך לדעת:

A B C D E USERNAME /path/to/command arg1 arg2
OR
A B C D E USERNAME /root/backup.sh

הסבר על תחביר ה-cron שנזכר לעיל:

  • A: Minutes range: 0 – 59
  • B: Hours range: 0 – 23
  • C: Days range: 0 – 31
  • D: Months range: 0 – 12
  • E: Days of the week range: 0 – 7. Starting from Monday, 0 or 7 represents Sunday
  • שם משתמש: החלף זאת בשם המשתמש שלך
  • /נתיב/לפקודה – שם התסריט או הפקודה שברצונך לתזמן

זה לא הכל. Cron משתמש ב-3 סמלי אופרטור שמאפשרים לך לציין ערכים מרובים בשדה:

  1. כוכבית (*): מציין את כל הערכים האפשריים עבור שדה מסוים
  2. הפסיק (,): מציין רשימת ערכים
  3. מקף (-): מציין טווח של ערכים
  4. מפריד (/): מציין ערך של צעד

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

דוגמאות למשימות Cron

הצעד הראשון להרצת פקודות cron הוא להתקין את ה-crontab שלך עם הפקודה:

# crontab -e

הרץ /root/backup.sh ב-3 בבוקר כל יום:

0 3 * * * /root/backup.sh

הרץ script.sh ב-4:30 בצהריים ביום השני של כל חודש:

30 16 2 * * /path/to/script.sh

הרץ /scripts/phpscript.php ב-10 בערב במהלך השבוע:

0 22 * * 1-5 /scripts/phpscript.php

הרץ perlscript.pl ב-23 דקות אחרי חצות, ב-2 בלילה וב-4 בבוקר, כל יום:

23 0-23/2 * * * /path/to/perlscript.pl

הרץ פקודת Linux ב-04:05 בכל יום ראשון:

5 4 * * sun /path/to/linuxcommand

אפשרויות Cron

רשימת משימות cron.

# crontab -l
OR
# crontab -u username -l

מחק את כל המשימות ב-Crontab.

# crontab -r

מחק משימת Cron עבור משתמש ספציפי.

# crontab -r -u username

מחרוזות ב-Crontab

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

  1. @hourly: ריצה פעם בשעה, כלומר "0 * * * *"
  2. @midnight: ריצה פעם ביום, כלומר "0 0 * * *"
  3. @daily: זהה לצהריים
  4. @weekly: ריצה פעם בשבוע, כלומר "0 0 * * 0"
  5. @monthly: ריצה פעם בחודש, כלומר "0 0 1 * *"
  6. @annually: ריצה פעם בשנה, כלומר "0 0 1 1 *"
  7. @yearly: זהה ל-@annually
  8. @reboot: ריצה פעם בכל הפעלה מחדש

לדוגמה, כך נראה גיבוי של המערכת שלך כל יום:

@daily /path/to/backup/script.sh

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

כמה אתה משתמש ב-Cron? והאם יש לך פרטים שתוכל לתרום למאמר? תיבת הדיון מתחת.

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

בנוסף, תוכל לקרוא את המאמר של אובונטו על איך להשתמש ב-Cron כאן. יש בו משאבים שעשויים להיות שימושיים לך.

Source:
https://www.tecmint.com/create-and-manage-cron-jobs-on-linux/