מסוף לינוקס מאפשר לנו לעשות דברים מעבר להקלדת פקודות בלבד. במקרה זה נדבר על אוטומציה של משימות באמצעות Cron. אוטומציה מאפשרת לנו לא רק להימנע ממשימות חוזרות ונשנות, אלא גם לגרום למחשב לבצע אותן כשאנחנו לא נוכחים. זה שימושי במיוחד בשרתים.
קרון הוא דמון שאחראי על ביצוע משימות במרווח זמן מסוים. למרות שתפקידו לטפל במשימות תחזוקת המערכת השוטפות, נוכל להוסיף אחרות שמעניינות אותנו.
כשאנחנו מדברים על שדים, אנחנו לא מתייחסים לשטן קטן בתוך המחשב שלנו. במחשוב, דמון הוא יישום או תהליך הפועל ברקע של מערכת ההפעלה מבלי לדרוש אינטראקציה ישירה עם המשתמש. תחומי האחריות שלהם כוללים חיבורי רשת, הדפסה, שרתי אינטרנט וניטור משאבים.
כמה מהתכונות העיקריות שלו
- הם בדרך כלל מתחילים עם אתחול המערכת.
- הם פועלים ברקע, מבלי שהמשתמש צריך להיות מודע לקיומם.
- הם נועדו לבצע משימות באופן קבוע או בתגובה לאירועים מסוימים.
אוטומציה של משימות עם Cron
אם אנחנו רוצים להגיד ל-Cron מה לעשות, אנחנו יכולים לעשות זאת באמצעות קובץ crontab. זהו פשוט קובץ טקסט המציין סדרה של פקודות ש-cron צריך לבצע בתאריך מסוים. ישנם שני סוגים של קבצי crontab: קובץ crontab שנוצר על ידי המערכת וקובץ crontab שנוצר על ידי המשתמש.
בשום פנים ואופן אסור לנו לגעת בקובץ crontab של המערכת, המשמש את לינוקס לצורך תצורה ותחזוקה. אי אפשר לשנות אותו בטעות מכיוון שהקובץ הזה ממוקם בתיקייה. /etc/crontab.
יצירת crontabs משלנו
Cron דורש שהמשימות שאנו מקצים לה יהיו עם הפרמטרים המצוינים בסדר זה:
h: זמן התחלה בטווח 0-23.
m: דקות במרווח 0-59.
d: יום בחודש בין הפרק 1-31
חוֹדֶשׁ: מציין את חודש השנה בטווח של 1-12
s: יום בשבוע עם המרווח 0-6
נתונים אלה נכנסים לתוך קובץ ה-crontab. כדי ליצור קובץ זה נכתוב את הפקודה:
crontab –u nombre de usuario –e
אם ה-crontab יהיה עבור משתמש ברירת המחדל, נוכל להשמיט את הפרמטר -u
כשנריץ אותו בפעם הראשונה, הוא יודיע לנו שהקובץ אינו קיים ויציע ליצור אחד ולערוך אותו באמצעות אחד העורכים המותקנים במחשב.
כמה נקודות שכדאי לזכור בעת עריכת crontab הן:
- כל משימה עולה על שורה
- בכל המקרים, יש לציין את התאריך והשעה שבהם יש לבצע כל משימה. כדי לציין מחזוריות (לדוגמה, יום שלישי בשעה 18:XNUMX) כוכביות נכתבות במקום שאר הפרמטרים.(*)
- ניתן להקצות יותר מערך אחד לפרמטר (לדוגמה, שלישי וחמישי בשעה 18:XNUMX) תוך הפרדת שני הערכים באמצעות פסיקים.
- יש להשאיר רווחים בין הפרמטרים.
- ציין את הספרייה שבה נמצא מפעיל הפקודות.
לדוגמה, אם נרצה להפעיל מחדש את המחשב כל יום בשעה 19:XNUMX:
0 19 * * * /sbin/reboot
כדי שההפעלה מחדש תהיה רק בימי רביעי, ההוראה תהיה:
0 20 * * 3 /sbin/reboot
.
ישנם כמה קיצורי דרך המאפשרים לנו להימנע מכתיבת כל הפרמטרים:
@לשעהאם נרצה לבצע פקודה בתחילת כל שעה.
@יום יומי: כדי להפעיל את הפקודה בתחילת כל יום.
@שְׁבוּעִי: הפעל את הפקודה ביום הראשון של השבוע.
@יַרחוֹן: הפקודה מבוצעת בדקה הראשונה של כל חודש.
@שְׁנָתִיאותו הדבר אבל בדקה הראשונה של כל שנה..
כמה דוגמאות לשימוש בפקודה זו:
@daily /bin/sh /ruta_al_script/nombre_del_script.sh
בצע הוראות מותאמות אישית בסקריפט bash בתחילת היום.
@hourly /bin/python3 /ruta_al_script/nombre_del_script.py
גורם לסקריפט פייתון לרוץ כל שעה.
עלינו תמיד לוודא שלסקריפטים יש הרשאות ביצוע.