PracticU

משימות מתוזמנות - crontab

בלי כתוביותעם כתוביות
PracticU › קורס לינוקס למתקדמים - הסמכה בינלאומית - Linux - Red Hat - RHCSA / RHCE › משימות מתוזמנות - crontab
מילון מושגים:
סקריפט - קובץ המכיל רצף פקודות שמבוצעות על ידי מפרש, לרוב כדי להפוך משימות לאוטומטיות.
שירות - תוכנה שרצה ברקע ומספקת פונקציונליות לרכיבים אחרים, לרוב ללא ממשק משתמש, ומופעלת אוטומטית עם המערכת.
תיקייה - מכל במערכת הקבצים שמשמש לארגון קבצים ותיקיות אחרות בתוך מבנה היררכי.
הערה - טקסט בקוד שמסביר אותו לבני אדם ואינו מבוצע על ידי המחשב.

משימות מתוזמנות - crontab
crontab הוא מתזמן המשימות של לינוקס ויוניקס. הוא מריץ סקריפטים באופן אוטומטי בזמנים קבועים, גם כשאתם ישנים או לא נמצאים מול המחשב.
השלבים העיקריים
1. בדיקת השירות: בודקים שהשירות crond מותקן ופועל. הפקודה chkconfig --list מציגה את מצב השירותים לפי run level, ו-service crond status מראה אם השירות רץ כרגע. אם הוא לא רץ, מפעילים אותו עם service crond start.
2. פתיחת הקובץ לעריכה: הפקודה crontab -e פותחת קובץ טקסט מיוחד בעורך vi. כל שורה בו היא משימה אחת.
3. מבנה השורה: חמש עמודות לפני הפקודה: דקה (0 עד 59), שעה (0 עד 23), יום בחודש (1 עד 31), חודש (1 עד 12) ויום בשבוע (0 עד 6). הכוכבית * פירושה "כל ערך".
4. דוגמה: 30 18 * * * מריץ את הסקריפט בכל יום בשעה 18:30. המרצה מדגים גם הרצה בשעה 10:44 של יום אחד, כדי לראות שהתיקייה שהסקריפט יוצר נוצרת בדיוק בזמן.
5. בדיקה: crontab -l מציג את כל המשימות המתוזמנות של המשתמש.
6. מחיקה: crontab -r מוחק את כל ה-crontab של המשתמש. לכן כדאי לבדוק קודם עם -l.
טעויות נפוצות
- הרצת המשימה רצה ברקע ולא מציגה שום דבר על המסך, לכן צריך לבדוק את התוצאה בקובץ או בתיקייה שהסקריפט יוצר.
- לא קל לזכור איזו עמודה היא מה. המרצה ממליץ להוסיף שורת הערה עם כותרות העמודות בראש הקובץ, כך שהשורה תהיה ברורה גם אחרי זמן.
- ניתן להגדיר קבצי allow ו-deny כדי לקבוע מי רשאי להשתמש ב-crontab.
שימו לב
אחרי שכתבתם סקריפט, crontab הוא הדרך לתזמן אותו להרצה קבועה בלי צורך בהפעלה ידנית.
לחץ כאן להורדת הורדת קבצי Script של לינוקס שהיו בסרטים
מילון מושגים:
דיסק - התקן לאחסון קבוע של נתונים, כמו כונן קשיח (HDD) או כונן מבוסס זיכרון מהיר (SSD).
תיקייה - מכל במערכת הקבצים שמשמש לארגון קבצים ותיקיות אחרות בתוך מבנה היררכי.
מחיצה - חלוקה לוגית של דיסק פיזי לאזורים נפרדים, שכל אחד מתפקד כאילו הוא כונן עצמאי.
זיכרון - רכיב מהיר ונדיף שבו המחשב שומר נתונים ותוכניות בזמן ריצתם. תוכנו נמחק עם כיבוי המחשב.
דומיין - תחום ניהולי משותף של מחשבים ומשתמשים ברשת ארגונית, המנוהל מרכזית. גם שם ייחודי של אתר באינטרנט.
אימות - תהליך שמוודא שהמשתמש או המערכת הם מי שהם טוענים שהם, בדרך כלל באמצעות סיסמה, קוד או תעודה.
Active Directory - שירות מדריך של מיקרוסופט לניהול מרכזי של משתמשים, מחשבים והרשאות ברשת ארגונית מבוססת דומיין.
GPO - אובייקט מדיניות קבוצתית ב-Active Directory, שמכיל הגדרות ומדיניות המוחלות על משתמשים ומחשבים.


מבנה ושמות דיסקים ומחיצות בלינוקס:


(Sda (disk0): זה הדיסק הפיזי הראשון (SATA DISK)

(Sda1,Sda2 (Partitions in disk): אלו הן המחיצות בתוך הדיסק הפיזי הראשון.

(Sdb (disk1): זה הדיסק הפיזי השני כמו בוינדוס Disk1

(Sdb1,Sdb2 (Partitions in disk): אלו הן המחיצות בתוך הדיסק הפיזי השני.

מחיצת השורש הראשונה:

וינדוס: C

לינוקס: /

מחיצות נוספות:

וינדוס: D: / E:

לינוקס: /data /example כמו תיקיות.

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

מטרת צירוף לינוקס לדומיין הינה לאימות משתמשים מתוך Active Directory בלבד ואין GPO  ללינוקס דרך AD.


הוכן ע"י התלמיד המצטיין: אברהים אבו שיכה

פרקי ההרצאה: משימות מתוזמנות - crontab

  1. 00:00

    מה זה Crontab ולמה הוא חשוב

  2. 01:33

    הדימון crond שמריץ את המשימות

  3. 02:52

    שדות הזמן: דקה, שעה, יום, חודש ויום בשבוע

  4. 03:46

    דוגמה: תזמון בדקה 30 ובשעה 18

  5. 05:03

    טווחי הערכים האפשריים לכל שדה

  6. 06:23

    בדיקה שה-crond מותקן ורץ

  7. 08:33

    עריכת הקובץ והוספת המשימה

  8. 10:11

    בדיקת התאריך והשעה לפני התזמון

תמלול ההרצאה: משימות מתוזמנות - crontab

הטקסט המלא של הדקות הראשונות בהרצאה «משימות מתוזמנות - crontab» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:20

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

  2. 00:32

    CronTab זה Linux Unix Scheduler. זה בעצם ה-Task Manager שאתם מכירים בווינדאוס, זה ה-Task Scheduler או Manager שיש לנו ביוניקס.

  3. 00:43

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

  4. 00:58

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

  5. 01:17

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

  6. 01:38

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

  7. 01:56

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

  8. 02:04

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

  9. 02:18

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

  10. 02:46

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

  11. 03:17

    יש לנו את העמודה השנייה שהיא השעות יש לנו עמודה שלישית שהיא הday of the month יש לנו את את ה-month ויש לנו את ה-day of the week ואז את ה-commands שאנחנו הולכים להפעיל.

  12. 03:34

    זה בעצם הרעיון של ה-contab. עכשיו, אתם לא באמת תראו את הרשימה of the minute hour, אתם צריכים לדמיין שאתם מבינים שזה שם, וכל מה שעליכם לעשות תכלס בעצם זה להכניס כאן את המספרים השונים בהתאם לזמן שאתם רוצים להפעיל את אותה אפליקציה, את אותו סקריפט.

  13. 03:55

    אז למשל, בואו ניתן דוגמה, בואו נחליט על איזושהי דוגמה מעניינת, למשל, אנחנו רוצים שבדקה ה-30, למשל, בדקה ה-30, אז אני רושם פה 30, בדקה ה-30, ואז אני יכול להגיד בשעה, למשל, 18, אז 18 ו-30 בעצם, אתם יכולים להגיד לי, רגע, מה אם אני רוצה כל חצי שעה, לא משנה מה השעה?

  14. 04:22

    אה, במקרה הזה אתה יכול לעשות, אתם יכולים לעשות כוכבית, ואז זה כל שעה. כל שעה ו-30 יתבצע משהו. אז בוא נשאיר את זה כרגע כשמונה עשרים.

  15. 04:34

    מה לגבי היום? איזה יום בחודש אנחנו רוצים? או אנחנו רוצים כל יום, זה מאוד נשמע הגיוני שאנחנו רוצים שמשהו יקרה כל יום בשעה שמונה עשרים ושלושים.

  16. 04:45

    וכמובן באיזה מונדס? שוב פעם, אנחנו רוצים את זה בכל אחד מהחודשים. ואיזה day of the week? אז כמובן אנחנו רוצים את זה בכל הימים בשבוע.

  17. 04:57

    ואז אנחנו מחליטים פה, ונותנים את הפאף של איזה סקריפט אנחנו רוצים להפעיל. Script1.sx למשל. מה בעצם אמרתי פה?

  18. 05:13

    שוב פעם, אלה האופציות שיש לי מ-0 עד 59, סליחה, מ-0 עד 59 עבור הדקות, שעות מ-0 עד 23, 1 עד 31, Day of the Month, איזה חודש, 1 עד 12, איזה Week, דרך אגב, 0 עד 6 זה לא 1 עד 7,

  19. 05:31

    אם מישהו חשב שזה יהיה ככה, אז זה 0 עד 6, ויש לנו כמובן גם את ה-Command שאנחנו רוצים להרים. וזהו, ואנחנו סוגרים את הקובץ הזה, כאילו אנחנו סוגרים עורך v.i. אם אתם זוכרים שאנחנו, ואתם יודעים איך עושים את זה היום, כשאנחנו יוצאים מהעורך הזה, אז אנחנו עושים escape.x, אנחנו עושים escape.x ו-that's it,

  20. 05:59

    אנחנו יוצאים ושומרים את הקובץ הזה. ואז הפקודה שאותו סקריפט שאמור לרוץ ירוץ ב-18 ו-30, אוקיי? בואו ניגש ללינוקס עצמו ברשותכם, והלכה למעשה ניצור סקריפט פשוט פשוט פשוט שעושה משהו, אני יודע מה? יוצר קובץ.

  21. 06:18

    ונדאג להפעיל אותו בעזרת ה-CronTab, אוקיי? בואו נלך ונעשה את זה. הדבר הראשון שאני רוצה לבדוק זה האם בכלל ה-Service, ה-Demon, ה-CronD מופעל בשרת, האם הוא כרגע ראנינג.

  22. 06:38

    אז איך אנחנו בודקים את זה? יש כמה דרכים לבדוק את זה. אחת הדרכים הבסיסיות ביותר זה קודם כל בכלל לראות האם ה-CronTab, שזה CronD, זה ה-Demon, בכלל מותקן בשרת.

  23. 06:54

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

  24. 07:23

    level 0 הוא באוף, run level 1 הוא באוף או run level 2, run level 3 ו-run level 4 הוא באוף, נפלא וגם ב-run level 5, או, מגניב, אז כנראה שהוא במצב של on. הנה, פה עשיתי את זה עם גרפ, פשוט כדי לחתוך ולראות ישר את השורה הרלוונטית.

  25. 07:39

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

  26. 07:55

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

  27. 08:06

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

  28. 08:17

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

  29. 08:40

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

  30. 09:04

    שאנחנו רואים את המינוס Hours Day of the Month Month Day of the Week ו-Command אחת השיטות לעשות את זה זה פשוט להוסיף פה את השורות האלה להוסיף פה את העמודות האלה יחד עם סימן יחד עם סימן סולמית מה שבעצם לא באמת מפעיל את השורה הזאת רק כדי לעזור לנו בהמשך לראות מה אנחנו עושים אז אז Minutes, Hours, Day of the Month, Month, Day of the Week וכמובן יש לנו

  31. 09:50

    Minute, Hour, Day of the Month, Month, Week ו-Day of the Week וכמובן יש לנו את ה-Command, אוקיי? מגניב. עכשיו מה שנותר לנו לעשות זה אשכרה לגשת למלאכת הבאמת הכנסה של האינפורמציה, למשל, אז אני רוצה בדקה מסוימת בהמשך שמשהו מסוים ירוץ, אוקיי?

  32. 10:12

    אז בוא נגיד שאני רוצה בדקה ארבעים, בואו נראה מה הדייט והשעה, פשוטכם, אני פשוט יוצא כרגע, עכשיו שמרתי את הקובץ, אתם רואים?

  33. 10:22

    Using an empty one, Installing new front-up, זה בסדר גמור. בואו נראה מה התאריך והשעה שלנו פה. אוקיי, 10.39. אז בואו נחליט שנפעיל את זה, איזשהו קובץ ב-10.44.

  34. 10:35

    בסדר, 43, זה ייקח לי כמה דקות לארגן לכם קובץ חמוד. אז בואו נגיד 10.44, אוקיי? חוזרים לעריכה, ובואו נגיד 44 ב-10, ב-day of the month, Day of the Month, Month כל חודש, כל יום, ואיזה קומנד אני רוצה שירוץ, אני רוצה שירוץ הקומנד Root Scripts, יש לנו שם Scriptים, בואו רק נבדוק שאכן יש לי פה

לקורס המלא: קורס לינוקס מתקדם אונליין

ההרצאה הקודמת: סקריפט עם case

ההרצאה הבאה: שרת APACHE - חלק 1

הרצאות קשורות מקורסים אחרים

  • העלאת הרשאות בלינוקס על ידי ניצול של משימות מתוזמנות - crontab
  • משימות של מנהל צוות הבדיקות
  • עבודה עם Callbacks עבור משימות אסינכרוניות

קורסים נוספים במסלול

  • קורס AWS - ניהול מכונה וירטואלית בענן
  • קורס Terraform - DevOps - Azure & AWS
  • קורס קוברנטיקס - Kubernetes
  • קורס Docker - עם Swarm Cluster
  • קורס DevOps - Ansible
  • קורס PowerShell