כיצד לתזמן משימות עם Cron ו CornTab [Linux]
אם אתה מכיר את לינוקס, תדע כי Cron הוא היישום המשמש לתזמן משימות לאוטומטי בסביבת לינוקס. CronTab היא הפקודה המשמשת לגשת לקובץ Cron שבו המשתמש יכול לקבוע ולתזמן משימות. לא, אני לא mislell CronTab בכותרת, CornTab הוא GUI מבוסס אינטרנט המאפשר לך להגדיר את לוח הזמנים שלך פקודות, ולאחר מכן פשוט להעתיק ולהדביק אותו בקובץ cron שלך.
ישנם יישומי GUI אחרים שנבנו כדי לערוך בקלות cron, כגון Gnome-Schedule. עם זאת, אם אתה לא רוצה להתקין את כל היישומים החדשים קורנטאב הוא פתרון נהדר מבוסס אינטרנט, במיוחד אם אתה הגדרת עבודה cron במחשב שאין לו Gnome-Schedule, או לא תואם את זה.
השימושים עבור cron הם די ברור, כל דבר מן תזמון גיבויים לרוץ סקריפטים מותאמים אישית בזמנים ספציפיים, כדי לפתוח תוכניות על לוח זמנים, cron היא הדרך לעשות את זה.
בואו נתחיל עם תזמון משימה פשוט יוצר חותמת כל דקה לקובץ יומן, תחילה באמצעות פגז / שורת הפקודה. לאחר מכן נפעיל את אותם השלבים באמצעות Corntab, כך שתוכל לראות כמה קל להשתמש בו. יצירת חותמת או כל פלט לקובץ יומן היא דרך מצוינת לבדוק את ההגדרות שלך cron עובדים, וכמובן לעקוב אחר לוח הזמנים שלך הולך קדימה.
פתח מסוף. לפני שנתחיל, עדיף לדעת לאן ללכת למידע. את המדריך עבור crontab ניתן למצוא על ידי הקלדת:
גבר
בטח, אתה יכול גוגל ולמצוא הדרכות אחרות וכנראה את דפי אינטרנט באופן מקוון, אבל זה תמיד טוב לדעת את הדרך שלך סביב שורת הפקודה!
התחביר עבור cron הוא כדלקמן:
crontab [-user user] file crontab [-u user] [-i] {-e | -l -r} [-s]
- אפשרות
-l
גורמת crontab הנוכחי להיות מוצג על פלט סטנדרטי. - אפשרות
-r
גורמת crontab הנוכחי להסירו. -e
אפשרות משמשת כדי לערוך את crontab הנוכחי באמצעות עורך שצוין על ידי משתנים הסביבה ויזואל או EDITOR.-u
מציין את שם המשתמש אשר crontab הוא להיות tweaked. אם אפשרות זו לא ניתנת, crontab ישתמש המשתמש הנוכחי אשר מבצע את הפקודה.-s
אפשרות לצרף את מחרוזת הקשר הנוכחית SELinux כקובץ MLS_LEVEL הגדרה לקובץ crontab לפני עריכת / תחליף מתרחשת (עיין בתיעוד של MLS_LEVEL ב crontab. זה לא נעשה שימוש בכל וריאציות של לינוקס / cron).
שים לב שיש לבצע תוכניות מסוימות עם הרשאות בסיס. כאשר זה המקרה, יהיה עליך לשנות את המשתמש root עם הפקודה su
, או את הפקודה sudo
אשר אמור לעבוד ברוב וריאציות לינוקס (דביאן, אובונטו, Fedora).
כדי לערוך את סוג crontab שלך:
crontab -e
אוֹ
sudo crontab -e
כמה כללי הקרקע עבור cron
- שדה עשוי להיות כוכבית (*), אשר תמיד מייצג "הראשון האחרון".
- m -minute (0-59)
- h-hour (0-23)
- יום של חודש (1-31)
- מון של השנה (1-12)
- דאו-יום בשבוע (0-6 עם 0 = יום ראשון)
- הפקודה, יישום, סקריפט, וכו '
קודים קצרים מתקדמים:
משמעות משמעות
- ---
@ הפעל פעם אחת, בעת האתחול.
@yearly Run פעם בשנה, "0 0 1 1 *".
@annually (כמו @yearly)
@monly הפעל פעם בחודש, "0 0 1 * *".
@weekly לרוץ פעם בשבוע, "0 0 * * 0".
@ daily לרוץ פעם ביום, "0 0 * * *".
@midnight (כמו @ daily)
@hourly לרוץ פעם בשעה, "0 * * * *"
ערכים מופרדים באמצעות פסיקים יכולים לשמש להפעלת יותר מפעם אחת של פקודה מסוימת בתוך פרק זמן.
ערכים מופרדים ב- Dash יכולים לשמש להפעלת פקודה ברציפות.
ללא שם: בואו להגדיר cronjob שלנו.
אם אתה הראשון נכנס crontab אתה כנראה תינתן בחירה של עורך להשתמש. אתה מוזמן לבחור כל, אבל אני בדרך כלל מקל עם ננו מאז זה פשוט, נקי, ומקבל את העבודה.
כדי לבצע את המשימה המקורית שלנו, פשוט הקלד:
* * * * * הד "הדקה הנוכחית היא: $ (תאריך)" >> /tmp/minute.log
"Control-x" תנחה לשמור, ולאחר מכן הזן יאשר. אתה צריך לראות כי cron עודכנה בהצלחה. העבודה תדפיס את התאריך / השעה הנוכחיים בכל דקה לקובץ הנקרא minute.log בספריה / tmp.
הנה פלט אוטומטי במשך 6 דקות:
בואו נהיה מהודרים, מה דעתך על הדפסת התאריך כל 2 דקות ...
* / * * * * * הד "הדקה הנוכחית היא: $ (תאריך)" >> /tmp/minute.log
באמצעות * / n שבו n הוא מספר חיובי אומר כל דקה n, או כל n שעות.
איך להדפיס את התאריך בשעה 5:30 בכל יום שני ושישי:
30 5 * * 1, 5 הד "הדקה הנוכחית היא: $ (תאריך)" >> /tmp/minute.log
אתה מוזמן לשחק עם תזמון פשוט "הד" logfiles. לאחר מכן עבור אל סקריפטים ויישומים.
משחקים עם קורנטאב
עכשיו בואו ננסה CornTab, עורך מבוסס אינטרנט cron כי יטפל התחביר בזמן שאנחנו רק לחץ על האפשרויות.
הנה צעד אחר צעד כדי ליצור crontab כי יהיה להדפיס את התאריך הנוכחי / שעה כל שתי דקות, רק בחודשים ינואר, פברואר, מרץ, ואפריל, ביום חמישי ושישי.
ראשית, לחץ על "כל n דקות" ולהזיז את המחוון ל 2 דקות.
לאחר מכן, לחץ כדי להרחיב את החודש, לחץ כדי לבחור "כל חודש נבחר" ובחר ינואר, פברואר, מרץ, אפריל
הבא, לחץ כדי להרחיב יום בשבוע, בחר "כל יום נבחר בשבוע" ובחר Thu ו Fri.
לבסוף, לחץ כדי להרחיב את הפקודה והקלד את הקוד / script. אז אתה יכול להעתיק את הקוד המלא cron מ Corntab ולהדביק אותו crontab שלך באמצעות השלבים בתחילת מאמר זה.
הפניות ומידע נוסף אודות Cron:
http://www.pantz.org/software/cron/croninfo.html
http://www.computerhope.com/unix/ucrontab.htm
https://help.ubuntu.com/community/CronHowto