כיצד לערוך את הקובץ Crontab לינוקס לתזמן משרות

מבוא

יש daemon ב לינוקס קרא cron אשר משמש להפעלת תהליכים במרווחי זמן קבועים.

הדרך בה היא עושה זאת היא לבדוק תיקיות מסוימות במערכת שלך כדי להפעיל סקריפטים. לדוגמה יש תיקייה הנקראת /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly ו /etc/cron.monthly. יש גם קובץ בשם / etc / crontab.

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

לדוגמה, פתח חלון מסוף (על-ידי הקשה על CTRL, ALT ו- T) והפעל את הפקודה ls הבאה:

ls / etc / cron *

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

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

זה המקום שבו מגיע קובץ crontab.

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

הרשאות

הפקודה crontab דורשת שלמשתמש יש הרשאות לערוך קובץ crontab. יש בעצם שני קבצים המשמשים לניהול הרשאות crontab:

אם הקובץ /etc / cron.allow קיים, המשתמש שרוצה לערוך את הקובץ crontab חייב להיות בקובץ זה. אם הקובץ cron.allow אינו קיים אבל יש קובץ /etc/cron.deny אז המשתמש לא צריך להיות קיים בקובץ זה.

אם שני הקבצים קיימים אז, /etc/cron.allow עוקפת את הקובץ /etc/cron.deny.

אם הקובץ לא קיים אז זה תלוי בתצורת המערכת אם המשתמש יכול לערוך את crontab.

משתמש הבסיס יכול תמיד לערוך את הקובץ crontab. ניתן להשתמש בפקודת ה- su כדי לעבור למשתמש הבסיס או לפקודת sudo כדי להפעיל את הפקודה crontab.

עריכת קובץ Crontab

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

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

crontab -l

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

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

crontab -e

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

הקובץ שנפתח מכיל מידע רב, אך החלק העיקרי הוא הדוגמה שלפני סוף פרק ההערות (הערות מסומנות בקווים המתחילים ב- #).

# mh dom דאו פקודה

0 5 * * 1 tar -zcf /var/backups/home.tgz / home /

ישנם 6 פיסות מידע שיתאימו לכל שורה של קובץ crontab:

עבור כל פריט (למעט הפקודה) ניתן לציין תו כללי. תראו את הדוגמה הבאה crontab שורה:

30 18 * * * tar -zcf /var /backups/home.tgz / home /

מה הפקודה הנ"ל הוא אומר ב 30 דקות, 18 שעות וכל יום, חודש ויום בשבוע להפעיל פקודה zip ו זפת ספריית הבית לתיקיה / var / גיבויים.

כדי לקבל פקודה לרוץ ב 30 דקות כל שעה אני יכול להפעיל את הפקודה הבאה:

30 * * * * פקודה

כדי לקבל פקודה לרוץ כל דקה אחרי 18:00 אני יכול להפעיל את הפקודה הבאה:

* 18 * * * פקודה

לכן אתה צריך להיות זהיר לגבי הגדרת פקודות crontab שלך.

לדוגמה:

* * * 1 הפקודה

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

כדי להפעיל פקודה ב 5 בבוקר ב 1 בינואר היית בפקודה הבאה לקובץ crontab:

0 5 1 1 * הפקודה

כיצד להסיר קובץ Crontab

רוב הזמן אתה לא רוצה להסיר את הקובץ crontab אבל אולי כדאי להסיר כמה שורות מקובץ crontab.

עם זאת, אם ברצונך להסיר את הקובץ crontab של המשתמש שלך להפעיל את הפקודה הבאה:

crontab -r

דרך בטוחה יותר לעשות זאת היא להפעיל את הפקודה הבאה:

crontab -i

זה שואל את השאלה "אתה בטוח?" לפני הסרת קובץ crontab.