כיצד להשתמש ב- ובאצווה בלינוקס כדי לתזמן פקודות

חלון מסוף במערכת לינוקס.

Fatmawati Achmad Zaenuri/Shutterstock



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

כיצד לתזמן משרות לינוקס

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





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

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



לבעיה שתוארה למעלה, יש להם, והיא נקראת |_+_|.

קָשׁוּר: כיצד לתזמן משימות בלינוקס: מבוא לקבצי Crontab

התקנת את ה-at Command

היינו צריכים להתקין |_+_| על אובונטו 18.04 ומנג'רו 18.1.0 (זה כבר הותקן על Fedora 31).



כדי להתקין |_+_| באובונטו, השתמש בפקודה הזו:

cron

פרסומת

לאחר סיום ההתקנה, תוכל להפעיל את |_+_| daemon עם הפקודה הזו:

at

במנג'רו, אתה מתקין |_+_| עם הפקודה הזו:

batch

לאחר השלמת ההתקנה, הקלד פקודה זו כדי להפעיל את |_+_| דמון:

cron

בכל הפצה, אתה יכול להקליד פקודה זו כדי לוודא ש-|_+_| daemon פועל:

cron

כיצד להשתמש ב-at Command באופן אינטראקטיבי

כדי להשתמש ב-|_+_|, עליך להקצות לו תאריך ושעה להפעלה. יש מידה רבה של גמישות באופן שבו אתה יכול לכתוב את אלה, עליה נעסוק בהמשך מאמר זה.

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

cron at

פרסומת

תאריכים ושעות יכולים להיות מפורשים או יחסיים. לדוגמה, נניח שאתה רוצה שפקודה תבוצע בעוד דקה מעכשיו. |_+_| יודע מה המשמעות של עכשיו, אז אתה יכול להשתמש ב-|_+_| והוסיפו לזה דקה אחת, כך:

at

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

זה אומר לך |_+_| מפעיל מופע של |_+_| קליפה ורצון הפעל את הפקודות בתוך זה . הפקודות שלך לא יבוצעו במעטפת Bash, התואמת את |_+_| מעטפת אך יש לו מערך תכונות עשיר יותר.

אם הפקודות או הסקריפטים שלך מנסים להשתמש בפונקציה או מתקן ש-Bash מספק, אבל |_+_| לא, הם ייכשלו.

קל לבדוק אם הפקודות או הסקריפטים שלך יפעלו ב-|_+_|. השתמש ב-|_+_| פקודה כדי להתחיל |_+_| צדף:

at

שורת הפקודה משתנה לסימן דולר (|_+_|), וכעת אתה יכול להפעיל את הפקודות שלך ולוודא שהן פועלות כהלכה.

פרסומת

כדי לחזור למעטפת Bash, הקלד את |_+_| פקודה:

at

לא תראה שום פלט סטנדרטי או הודעות שגיאה מהפקודות. הסיבה לכך היא שה-|_+_| shell מופעלת כמשימת רקע ופועלת ללא כל סוג של ממשק מסך.

כל פלט מהפקודות - טוב או רע - נשלח אליך בדוא'ל. זה נשלח דרך מערכת הדואר הפנימית למי שמפעיל את |_+_| פקודה. המשמעות היא שעליך להגדיר ולהגדיר את מערכת הדוא'ל הפנימית הזו.

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

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

קָשׁוּר: מה הם stdin, stdout ו-stderr בלינוקס?

עכשיו, הגיע הזמן להקליד פקודה ב-|_+_|. עבור דוגמה זו, נשתמש בקובץ סקריפט קטן בשם |_+_| שמוחק את ה- |_+_|, |_+_| ו- |_+_| קבצים. הקלד את הנתיב לפקודה, כפי שמוצג להלן, ולאחר מכן הקש Enter.

פרסומת

שורת פקודה נוספת מופיעה, ותוכל להוסיף כמה פקודות שתרצה. בדרך כלל נוח יותר להחזיק את הפקודות שלך בסקריפט בודד ופשוט לקרוא לסקריפט הזה מבפנים |_+_|.

הקש Ctrl+D כדי לומר |_+_| סיימת להוסיף פקודות. |_+_| מראה, כלומר סוף השידור . נאמר לך את מספר המשרה ומתי אמורה העבודה לפעול, כפי שמוצג להלן:

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

at

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

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

at

לאחר דקה, הקלד את הדברים הבאים כדי לבדוק שוב את הדואר שלך:

atd

היי, יש לנו דואר! לקריאת הודעה מספר אחת, הקש 1, ולאחר מכן הקש על Enter.

פרסומת

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

הקש D+Enter כדי למחוק את האימייל ו-Q+Enter כדי לצאת מתוכנת הדואר.

פורמטים של תאריך ושעה

יש לך גמישות רבה בכל הנוגע לפורמטי הזמן שבהם אתה יכול להשתמש עם |_+_|. הנה כמה דוגמאות:

    ריצה בשעה 11:00 בבוקר:
    • at
    ריצה מחר ב-11:00 בבוקר:
    • at
    הפעל ב-11:00 בבוקר ביום זה בשבוע הבא:
    • at
    הפעל בשעה זו, ביום זה, בשבוע הבא:
    • at
    ריצה בשעה 11:00 בבוקר ביום שישי הבא:
    • now
    הפעל בשעה זו ביום שישי הבא:
    • at
    הפעל ב-11:00 בבוקר בתאריך זה, בחודש הבא:
    • at
    הפעל בשעה 11:00 בבוקר בתאריך מסוים:
    • at
    הפעל בעוד 30 דקות מעכשיו:
    • sh
    הפעל בעוד שעתיים:
    • sh
    הרץ בשעה זו מחר:
    • sh
    רוץ בשעה זו ביום חמישי:
    • sh
    ריצה בשעה 12:00 בבוקר:
    • sh
    ריצה בשעה 12:00:
    • sh
    אם אתה בריטי, אתה יכול אפילו לתזמן פקודה להפעלה בזמן התה (16:00):
    • $

מסתכל על תור העבודה

אתה יכול להקליד את |_+_| הפקודה כדי לראות את תור העבודות המתוזמנות, כפי שמוצג להלן.

עבור כל פקודה בתור, |_+_| מציג את המידע הבא:

    מזהה משרה תאריך מתוכנן זמן מתוכנן בתור שהעבודה נמצאת. התורים מסומנים עם a, b וכן הלאה. משימות רגילות שאתה מתזמן עם |_+_| היכנס לתור a, בעוד משימות שאתה מתזמן עם |_+_| (מכוסה בהמשך מאמר זה) היכנסו לתור ב. האדם שקבע את העבודה.

שימוש ב- בשורת הפקודה

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

אתה יכול להעביר פקודות לתוך |_+_|, כך:

exit

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

קָשׁוּר: כיצד להשתמש ב-Pipes ב-Linux

שימוש ב-at עם קבצי פקודות

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

אתה יכול להשתמש ב- |_+_| אפשרות (קובץ) בדרך הבאה להעביר שם קובץ אל |_+_|:

sh

אתה יכול להשיג את אותה תוצאה אם ​​תפנה את הקובץ אל |_+_|:

at

הסרת עבודות מתוזמנות מהתור

כדי להסיר עבודה מתוזמנת מהתור, אתה יכול להשתמש ב-|_+_| פקודה. אם אתה רוצה לראות קודם את התור כדי למצוא את מספר המשרה שאתה רוצה להסיר, אתה יכול להשתמש ב-|_+_| . לאחר מכן, השתמש במספר המשרה עם |_+_|, כפי שמוצג להלן:

at sweep.sh *.bak

כיצד לראות תצוגה מפורטת של משרות

כפי שהזכרנו קודם, אתה יכול לתזמן עבודות רחוק אל העתיד. לפעמים, אתה עלול לשכוח מה העבודה הולכת לעשות. ה- |_+_| הפקודה מראה לך את העבודות בתור, אבל לא מה הן מתכוונות לעשות. אם אתה רוצה לראות תצוגה מפורטת של עבודה, אתה יכול להשתמש ב-|_+_| אפשרות (חתול).

ראשית, נשתמש ב-|_+_| כדי למצוא את מספר המשרה:

*.tmp

פרסומת

כעת, נשתמש בעבודה מספר 13 עם ה- |_+_| אוֹפְּצִיָה:

*.o

להלן פירוט המידע שאנו מקבלים בחזרה על העבודה:

    שורה ראשונה:זה אומר לנו שהפקודות יפעלו תחת |_+_| צדף. שורה שנייה:אנו רואים שהפקודות יפעלו עם מזהה משתמש וקבוצה של 1000. אלו הם הערכים של האדם שהריץ את |_+_| פקודה. שורה שלישית:האדם שמקבל אימיילים כלשהם |_+_|שולח. שורה רביעית:ה מסכת משתמש הוא 22. זוהי המסכה המשמשת להגדרת ברירת המחדל של הרשאות עבור כל הקבצים שנוצרו ב-|_+_| מוֹשָׁב. המסכה מופחתת מ-666, מה שנותן לנו 644 (המקבילה האוקטלית של |_+_|). נתונים שנותרו:הרוב הם משתני סביבה.

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

הפקודה האצווה

ה- |_+_| פקודה פועל באופן דומה אל |_+_| פקודה, אך עם שלושה הבדלים משמעותיים:

  1. אתה יכול להשתמש רק ב-|_+_| פקודה באופן אינטראקטיבי.
  2. במקום לתזמן משימות לביצוע בזמן מסוים, אתה מוסיף אותן לתור, ואת |_+_| הפקודה מבצעת אותם כאשר המערכת עומס ממוצע נמוך מ-1.5.
  3. בשל האמור לעיל, לעולם אינך מציין תאריך ושעה עם ה- |_+_| פקודה.

כאשר אתה משתמש ב-|_+_| פקודה, אתה קורא לזה בשם ללא פרמטרים של שורת פקודה כך:

at

לאחר מכן, הוסף משימות בדיוק כפי שהיית עושה עם |_+_| פקודה.

שליטה בגישה ל-at Command

ה- |_+_| וכן |_+_| קבצים שולטים מי יכול להשתמש ב-|_+_| משפחת הפקודות. אלה ממוקמים בתוך |_+_| מַדרִיך. כברירת מחדל, רק את |_+_| הקובץ קיים, והוא נוצר כאשר |_+_| מותקן.

הנה איך אלה עובדים:

  • |_+_|: מפרט יישומים וישויות שאינם יכולים להשתמש ב-|_+_| לתזמן עבודות.
  • |_+_|: מפרט מי יכול להשתמש ב-|_+_| לתזמן עבודות. אם ה- |_+_| הקובץ לא קיים, |_+_| משתמש רק ב-|_+_| קוֹבֶץ.
פרסומת

כברירת מחדל, כל אחד יכול להשתמש ב-|_+_|. אם אתה רוצה להגביל מי יכול להשתמש בו, השתמש ב- |_+_| קובץ לרשימת מי שיכולים. זה קל יותר מאשר להוסיף את כל מי שלא יכול להשתמש ב-|_+_| אל |_+_| קוֹבֶץ.

הנה מה ש-|_+_| הקובץ נראה כך:

at

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

כעת, אנו נערוך את |_+_| קוֹבֶץ. אנחנו הולכים להוסיף |_+_| ו-|_+_|, אבל אף אחד אחר לא יורשה להשתמש ב-|_+_|.

ראשית, נקליד את הדברים הבאים:

at

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

אם מישהו אחר ינסה להשתמש |_+_|, יגידו לו שאין לו הרשאה. לדוגמה, נניח משתמש בשם |_+_| מקלידים את הדברים הבאים:

*.bak

הוא יסרב, כפי שמוצג להלן.

פרסומת

שוב, |_+_| אינו ב-|_+_| קוֹבֶץ. ברגע שאתה מכניס מישהו ל-|_+_| קובץ, מכל אחד וכל השאר נדחתה הרשאה להשתמש |_+_|.

נהדר עבור חד פעמי

כפי שאתה יכול לראות, שניהם |_+_| וכן |_+_| הם אידיאליים למשימות שאתה צריך להפעיל רק פעם אחת. שוב, כסקירה מהירה:

  • כאשר אתה צריך לעשות משהו שאינו תהליך רגיל, תזמן אותו עם |_+_|.
  • אם ברצונך להפעיל משימה רק כאשר עומס המערכת נמוך מספיק, השתמש ב-|_+_|.
פקודות לינוקס
קבצים זֶפֶת · pv · חתול · טק · chmod · אחיזה · הבדל · sed · עם · איש · דחף · popd · fsck · testdisk · seq · fd · פנדוק · CD · $PATH · מביך · לְהִצְטַרֵף · jq · לְקַפֵּל · ייחודי · journalctl · זָנָב · מדינה · ls · fstab · זרק · פָּחוּת · chgrp · chown · לְהַאִיץ · תראה · מחרוזות · סוּג · לשנות שם · רוכסן · לִפְתוֹחַ · הר · umount · להתקין · fdisk · mkfs · rm · rmdir · rsync · df · gpg · אָנוּ · ננו · mkdir · מ · ב · תיקון · להמיר · rclone · שמץ · SRM
תהליכים כינוי · מָסָך · חלק עליון · נֶחְמָד · נחמדים · התקדמות · רצועה · מערכת · tmux · chsh · הִיסטוֹרִיָה · בְּ- · קבוצה · חינם · איזה · dmesg · usermod · נ.ב · chroot · xargs · tty · זרת · lsof · vmstat · פסק זמן · קִיר · כן · לַהֲרוֹג · לִישׁוֹן · סודו · שֶׁלוֹ · זְמַן · הוספה קבוצתית · usermod · קבוצות · לשוו · לכבות · לְאַתחֵל · תפסיק · כיבוי · passwd · lscpu · crontab · תַאֲרִיך · bg · fg
רשת netstat · פינג · traceroute · ip · ss · מי זה · fail2ban · bmon · אתה · אֶצבַּע · nmap · ftp · סִלְסוּל · wget · מי · מי אני · ב · iptables · ssh-keygen · ufw

קָשׁוּר: מחשבי Linux הטובים ביותר למפתחים וחובבי

קרא את הבא
  • › פונקציות לעומת נוסחאות ב-Microsoft Excel: מה ההבדל?
  • › 5 אתרים שכל משתמש לינוקס צריך לסמן
  • › מהי הגנה מפני נפילה של MIL-SPEC?
  • & rsaquo; Cyber ​​Monday 2021: עסקאות הטכנולוגיה הטובות ביותר
  • › תיקיית המחשב היא 40: איך כוכב Xerox יצר את שולחן העבודה
  • › איך למצוא את ספוטיפיי עטוף 2021
תמונת פרופיל עבור דייב מקיי דייב מקיי
דייב מקיי השתמש לראשונה במחשבים כשסרט נייר מחורר היה באופנה, ומאז הוא מתכנת. לאחר למעלה מ-30 שנה בתעשיית ה-IT, הוא כעת עיתונאי טכנולוגיה במשרה מלאה. במהלך הקריירה שלו, הוא עבד כמתכנת עצמאי, מנהל צוות פיתוח תוכנה בינלאומי, מנהל פרויקטים של שירותי IT, ולאחרונה כמנהל הגנת מידע. הכתיבה שלו פורסמה על ידי howtogeek.com, cloudsavvyit.com, itenterpriser.com ו-opensource.com. דייב הוא אוונגליסט של לינוקס ותומך בקוד פתוח.
קרא את הביוגרפיה המלאה

מאמרים מעניינים