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

כאן תוכלו ללמוד מהו crontab, כיצד להוסיף עבודות אוטומטיות וכמה דוגמאות בעולם האמיתי.

מה זה Crontab?

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

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

פקודות בסיסיות של Crontab

לכל משתמש לינוקס במכונה יש קובץ crontab משלו, המכיל את עבודות ה- crontab הפעילות שלו. להלן מספר פקודות מסוף בסיסיות בהן תשתמש כדי להציג ולשנות את קובץ ה- crontab:

  • crontab-l ציין את כל עבודות crontab.
  • crontab -e ערוך את קובץ ה- crontab.
  • crontab -r הסר את כל הערכים מקובץ crontab.

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

instagram viewer
אוֹפְּצִיָה. לדוגמה, אתה יכול לערוך את jdoe קובץ crontab של המשתמש עם הפקודה:

אובונטו לינוקס: הוסף והסר משתמשים לקבוצות בדרך הקלה

רוצה לנהל טוב יותר משתמשים באובונטו לינוקס? התשובה היא ליצור קבוצות, ואז להשתמש בתכונת הוספת משתמש של אובונטו.

sudo crontab -ujdoe -e

פורמט של עבודות Crontab

כל עבודת crontab מורכבת משורה אחת ומעוצבת להלן:

פקודת השבוע של חודש החודש

הטבלה שלהלן מסבירה את האלמנטים השונים של עבודת crontab:

אֵלֵמֶנט Ranage תיאור
דַקָה 0 - 59 הדקה לביצוע עבודת crontab בשעה.
שָׁעָה 0 - 23 השעה לבצע את עבודת crontab בשעה.
יְוֹם 1 - 31 יום החודש לביצוע עבודת crontab בשעה.
חוֹדֶשׁ 1 - 12 החודש לביצוע עבודת crontab ב.
יוֹם חוֹל 0 - 6 יום השבוע לביצוע עבודת crontab בשעה.
פקודה כל פקודת לינוקס שתוכלו לבצע במסוף.

אתה יכול להשתמש בכוכבית (*) בכל אחד מהשדות כדי לציין תו כללי, כלומר עבודת crontab תבוצע ללא קשר לתקופת הזמן ההיא. לדוגמה, עבודת crontab להלן תבוצע בכל לילה בדיוק בשעה 3:20 בבוקר:

20 3 * * * /root/backup.sh

ערכים מרובים

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

20,50 * * * * / path / to / command.sh

עם זאת, אם ברצונך לבצע את עבודת crontab במרווחי זמן ספציפיים בתוך פרק זמן תוכל להשתמש */פרק זמן, ועבודת ה- crontab שלמטה תבוצע אוטומטית בשעה 15 דקות אחרי השעה כל שלוש שעות:

15 * / 3 * * * / path/to/command.sh

שמירה על שקט בעבודות Crontab

הכל תלוי, ייתכן שתרצה לבטל את כל הפלט מעבודות crontab כדי שלא יגיעו לתיקיית הדואר של המערכת שלך. אתה יכול לעשות זאת על ידי הוספת > / dev / null 2> & 1 לכל עבודה בקרונטאב. לדוגמה:

0 6 15 * * /path/to/backup.sh> / dev / null 2> & 1

הוספת משרות Crontab

באופן כללי, השיטה הנפוצה ביותר להוסיף או לשנות עבודות crontab היא crontab -e פקודה. הפעל פקודה זו במסוף:

crontab -e

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

קיצור דרך להוספת משרות

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

0 14 * * 0 / path / to/command.sh

אתה יכול להוסיף את המשימה לקובץ crontab שלך באמצעות הפקודה היחידה:

(crontab -l; הד "0 14 * * 0 /path/to/command.sh";) | crontab

הפקודה שלעיל פשוט מפרטת את כל העבודות שנמצאות כעת בקובץ crontab שלך, מדפיסה את העבודה החדשה ומצננת הכל crontab החלפת תוכנו.

רישום / הסרה של קובץ Crontab

אתה יכול לרשום את כל העבודות הפעילות כרגע בקובץ crontab שלך עם הפקודה:

crontab -l

אתה יכול גם להסיר את כל עבודות ה- crontab ולרוקן את התוכן של קובץ ה- crontab שלך באמצעות הפקודה:

crontab -r

דוגמה: הפעל צלילים!

זקוק לתזכורת מהירה כל שעתיים בזמן העבודה כדי להודיע ​​לך שהזמן עבר? תפוס את קליפ השמע המועדף עליך כמעט בכל פורמט (.wav, .mp4, כל דבר אחר), ואם הוא נשמר ב (למשל) /home/myuser/myalert.wav האם זה שיחק אוטומטית עם עבודת crontab:

0 * / 2 * * * aplay /home/myuser/myalert.wav

מה דעתך להעביר לך נחמד מהעבודה בשבוע כשהשיר האהוב עליך מתנגן אוטומטית בשעה 17:00 בכל יום שישי אחר הצהריים? תפוס את קליפ השיר המועדף עליך, ואם נשמר באמירה /home/myuser/friday_song.mp4 אתה מוסיף את עבודת crontab:

0 17 * * 5 aplay /home/myuser/friday_song.mp4

דוגמה: גיבוי קבצים באמצעות Rsync

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

דוגמה: בדוק אם אתרים מקוונים

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


php
// כתובת דואר אלקטרוני כדי להודיע ​​על אתרים למטה
$ email = '[email protected]';
// הגדר כתובות אתרים לבדיקה
$ urls = [< br /> ' https://apexpl.io',
'https://google.com',
'https://some-junk-site-that-will-hopefully-never-exist.com'
];
// עבור דרך כתובות אתרים
$ down = [];
foreach ($ urls as $ url) {
// בדוק URL
$ status = check_url ($ url);
אם ($ status! = 200) {
$ down [] = $ url;
}
}
// שלח דואר אלקטרוני אם יש לנו אתרים למטה
אם (ספירה ($ למטה)> 0) {
דואר ($ דוא"ל, "דחוף - אתרים למטה!", "הבוט שלך זיהה שהאתרים הבאים הם כרגע למטה:
". להתפרץ ("
", $ למטה));
}
// יציאה
יציאה (0);
/ **
* בדוק כתובת URL < br /> * /
check_url פונקציה (מחרוזת $ url): int
{
// שלח באמצעות cURL
$ ch = curl_init ();
curl_setopt ($ ch, CURLOPT_URL, $ url);
curl_setopt ($ ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ ch, CURLOPT_FOLLOWLOCATION, נכון);
$ response = curl_exec ($ ch);
// קבל סטטוס וסגור קשר
$ status = curl_getinfo ($ ch, CURLINFO_HTTP_CODE);
curl_close ($ ch);
// החזר
החזר סטטוס $;
}

פשוט שנה את כתובת הדואר האלקטרוני ואת כתובות האתרים הרצויות כדי לבדוק בראש הקובץ, ושמור זה איפשהו כמו /home/myuser/check_sites.php . כדי שהסקריפט הזה יופעל כל חמש דקות ויודיע לך באמצעות דואר אלקטרוני על כל אתרים שנמצאים למטה, הוסף את עבודת crontab: p>

  * / 5 * * * * / usr / bin / php /home/myuser/check_sites.php> / dev / null 2> & 1  

אוטומט את חייך! h2>

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

למדת מהו crontab, על קובץ crontab, כיצד מעצבים עבודות crontab וכמה דוגמאות בעולם האמיתי כיצד ניתן להשתמש בו.

4 אפליקציות אוטומציה של לינוקס כדי לייעל את המשימות ואת תהליכי העבודה שלך span>

רוצה לחסוך זמן ולהימנע ממשימות חוזרות? התשובה היא אוטומציה! להלן כמה אפליקציות שימושיות לאוטומציה לשולחן העבודה שניתן לנסות. P> div> span>

קשורים נושאים strong>
  • תכנות span>
  • Linux
אודות המחבר strong>
מאט דיזאק (13 מאמרים פורסם) span>
עוד מאת מאט דיזאק span>

הירשם כמנוי שלנו עלון h4>

הצטרף לניוזלטר שלנו לקבלת טיפים טכניים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים! P>

צעד אחד נוסף!!! h4>

אנא אשר את כתובת הדוא"ל שלך ב דוא"ל ששלחנו אליך זה עתה. p>

.