[novashare_inline_content]

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

ההזמנהatבלינוקס קורא לדמוןatdלתזמן משימות. חשוב לציין זאתפקודה זו מאפשרת תזמון יחיד של משימה, בניגודcronמה שמאפשר לך לתזמן משימות חוזרות.

מתקיןat

החבילהatמותקן כברירת מחדל ברוב מערכות לינוקס. עם זאת, אתה יכול לוודא על ידי בדיקת הגרסה שלו, עם שורת הקוד הבאה:

at -V

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

sudo apt install at && sudo systemctl start atd

תחביר פקודהat

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

at [OPTION...] heure/date

כאשר אתה משתמש בפקודהatכדי לתזמן משימה, המנהל פותח את המעטפת שלו שבה אתה מכניס את המשימות לביצוע. לאחר מכן, תוכל להתחיל בביצוע באמצעות קיצור המקלדתCtrl + D.

אתה יכול לציין משתני זמן באמצעות פורמטים מסוימים:

  • שעה ספציפית ביום:אנחנו יכולים לציין את השעה בפורמטHH:MM. אם הזמן שצוין כבר חלף, המשימה מבוצעת למחרת באותו זמן
  • מחוון זמן:ישנן מילות מפתח מוכרות שניתן להשתמש בהן כדי להתייחס לזמן בתורnoon(12:00),midnight(00:00), אוteatime(16:00)
  • ביום ספציפי:כדי לתזמן משימה ספציפית ליותר מ-24 שעות, עליך להוסיף תאריך בטופסMMDDYY,MM/DD/YY, אוDD.MM.YY.
  • תקופה מסוימת בעתיד הקרוב: אפשר לציין את התקופה עם מילות המפתחnow, או השלט+ואחריו התקופה.

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

תזמן משימה עם הפקודהבְּ-(עם דוגמאות)

אנו נראה לך כמה דוגמאות לביצוע משימה עם הפקודהatעל לינוקס. שימו לב שהפקודה אינה מציגה משוב מביצועה על המסך. עם זאת, תוכל לבקש ממנו לשלוח לך מייל באמצעות האפשרות-m, לאחר הוצאתו להורג. האימייל נמצא בדרך כלל במקום/var/spool/mail/$USERאוֹ$USERמייצג את שם המשתמש שהתחיל במשימה.

דוגמה 1:בצע משימה ברגע המדויק עם משוב באימייל.

# at -m now 
at> echo "Execution commande at" 
at> <EOT>

אל תשכח ללחוץCtrl+Dכדי לאמת את המשימה שלך.

ניתן לגשת לתוכן האימייל מהיומנים באמצעות הפקודה הבאה (חותמת הזמן המוצגת נוגעת למייל):

$ tail -f -n 13 /var/spool/mail/$USER

דוגמה 2:הפעל משימה תוך x דקות או x שעות.

תחביר זה מאפשר לך לבצע משימה על ידי הוספת משך זמן בשעה T.

אפשר גם להריץ סקריפט (קובץ) עם הפקודה. עבור הדוגמה הבאה, כתבנו תסריטtache_cmd_at.shשתיצור תיקיה ואחריה תאריך ושעת היצירה. הנה התוכן של הסקריפט המוצג למטה עם הפקודהcat.

לכן אפשר לקרוא את הפקודה שתתבצע מהקובץ באמצעות האפשרות-fולהפעיל אותו תוך 2 דקות.

$ at -m now +2min -f tache_cmd_at.sh

נוכל לראות את התוצאה על ידי רישום התיקיות עםls.

לביצוע תוך 2 שעות במקום 2 דקות, הפקודה הופכת להיות הבאה:

$ at -m now +2 hours -f tache_cmd_at.sh 

דוגמה 3:לבצע משימה בתאריך מסוים.

כדי לבצע משימה בתאריך מסוים, אתה יכול להשתמש בפורמט הצרפתיDD.MM.YY. לדוגמה, עבור משימה שבוצעה ב-22/05/22 בשעה 7:30 בבוקר:

$ at 07:30 22.05.22 -f tache_cmd_at.sh

רשימת משימות מתוזמנות

תור מאחסן משימות המתוזמנות עם הפקודהat. אפשר לרשום אותם עם ההזמנותatqאוֹat -l. התוצאה כוללת אלמנטים מסוימים:

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

מחק משימות מתוזמנות

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

$ atrm 14

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

שתף את המאמר הזה

[novashare_inline_content]

האם מצאתם מאמר זה שימושי?

אתה יכול גם אותנושלח רעיון למאמראם החיפוש שלך שונה.