OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

זה רעיון טוב לבחור זמני ביצוע מוזרים, מכיוון שעבודות מערכת מופעלות לרוב בשעות "עגולות", כפי שניתן לראות בסעיף 4.4.4 בסעיף הבא. לדוגמה, עבודות מופעלות לעתים קרובות בדיוק בשעה 1 בבוקר (למשל אינדקס מערכת לעדכון מסד נתונים סטנדרטי של איתור), כך שהזנת שעה של 0100 עשויה להאט בקלות את המערכת שלך במקום להפעיל אותה. כדי למנוע מעבודות לפעול כולן בו-זמנית, תוכל גם להשתמש ב- קְבוּצָה פקודה, אשר מעמידה תהליכים בתור ומזינה את העבודה בתור למערכת בצורה מאוזנת באופן שווה, ומונעת התפרצויות מוגזמות של שימוש במשאבי המערכת. עיין בדפי המידע למידע נוסף.


תמונה

4.4.4. קרון וקרוטאב


מערכת ה-cron מנוהלת על ידי cron דמון. הוא מקבל מידע על אילו תוכניות ומתי הן אמורות לפעול מתוך ערכי ה-crontab של המערכת והמשתמשים. רק למשתמש השורש יש גישה ל-crontabs של המערכת, בעוד שלכל משתמש צריכה להיות גישה רק ל-crontabs שלו. במערכות מסוימות (חלקם) ייתכן שלא תהיה למשתמשים גישה למתקן ה-cron.


בעת הפעלת המערכת, ה-cron daemon מחפש / var / spool / cron / עבור ערכי crontab אשר נקראים על שם חשבונות ב / etc / passwd, זה מחפש /etc/cron.d/ וזה מחפש / etc / crontab, ולאחר מכן משתמש במידע זה בכל דקה כדי לבדוק אם יש משהו לעשות. הוא מבצע פקודות בתור המשתמש שבבעלותו קובץ ה-crontab ושולח כל פלט של פקודות לבעלים.


במערכות המשתמשות ב-Vixie cron, עבודות המתרחשות מדי שעה, יומי, שבועי וחודשי נשמרות בספריות נפרדות ב- /וכו כדי לשמור על סקירה כללית, בניגוד לפונקציית ה-CRON הרגילה של UNIX, שבה כל המשימות מוזנות לקובץ אחד גדול.


דוגמה לקובץ Vixie crontab:


[root@blob /etc]# יותר crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root

HOME=/


# חלקי ריצה

# פקודות לביצוע כל שעה

01 * * * * root run-parts /etc/cron.hourly

# פקודות לביצוע כל יום

02 4 * * * root run-parts /etc/cron.daily

# פקודות לביצוע מדי שבוע

22 4 * * 0 root run-parts /etc/cron.weekly פקודות לביצוע כל חודש

42 4 1 * * root run-parts /etc/cron.monthly

[root@blob /etc]# יותר crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root

HOME=/


# חלקי ריצה

# פקודות לביצוע כל שעה

01 * * * * root run-parts /etc/cron.hourly

# פקודות לביצוע כל יום

02 4 * * * root run-parts /etc/cron.daily

# פקודות לביצוע מדי שבוע

22 4 * * 0 root run-parts /etc/cron.weekly פקודות לביצוע כל חודש

42 4 1 * * root run-parts /etc/cron.monthly


תמונהחלופה

אתה יכול גם להשתמש ב- crontab -l פקודה להצגת קרונטאבים.

כמה משתנים מוגדרים, ואחרי זה יש את התזמון בפועל, שורה אחת לכל עבודה, החל מ-5 שדות זמן ותאריך. השדה הראשון מכיל את הדקות (מ-0 עד 59), השני מגדיר את שעת הביצוע (0-23), השלישי הוא היום בחודש (1-31), ואז מספר החודש (1-12). , האחרון הוא היום בשבוע (0-7, גם 0 ו-7 הם יום ראשון). כוכבית בשדות אלה מייצגת את הטווח הכולל המקובל עבור השדה. רשימות מותרות; לביצוע עבודה מיום שני עד שישי הזינו 1-5 בשדה האחרון, לביצוע עבודה בימים שני, רביעי ושישי הזינו 1,3,5.


לאחר מכן מגיע המשתמש שאמור להפעיל את התהליכים הרשומים בעמודה האחרונה. הדוגמה למעלה היא מתצורת Vixie cron שבה root מריץ את התוכנית חלקי ריצה במרווחים קבועים, עם הספריות המתאימות כאפשרויות. בספריות אלו, העבודות שיבוצעו בפועל בזמן המתוכנן מאוחסנות כסקריפטים של מעטפת, כמו הסקריפט הקטן הזה שמופעל מדי יום כדי לעדכן את מסד הנתונים המשמש את לְאַתֵר פקודה:


billy@ahost cron.daily]$ cat slocate.cron

# / Bin / sh

renice +19 -p $$ >/dev/null 2>&1

/usr/bin/updatedb -f "nfs,smbfs,ncpfs,proc,devpts" -e \ "/tmp,/var/tmp, /usr/tmp,/afs,/net"

billy@ahost cron.daily]$ cat slocate.cron

# / Bin / sh

renice +19 -p $$ >/dev/null 2>&1

/usr/bin/updatedb -f "nfs,smbfs,ncpfs,proc,devpts" -e \ "/tmp,/var/tmp, /usr/tmp,/afs,/net"

משתמשים אמורים לערוך את ה-crontabs שלהם בצורה בטוחה באמצעות ה crontab -e פקודה. זה ימנע ממשתמש לפתוח בטעות יותר מעותק אחד של קובץ ה-crontab שלו. עורך ברירת המחדל הוא vi (ראה פרק 6, אבל אתה יכול להשתמש בכל עורך טקסט, כגון גבים or gedit אם אתה מרגיש יותר נוח עם עורך GUI.


כאשר תצא, המערכת תודיע לך שמותקן crontab חדש.


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


בילי:~> crontab -l

# אל תערוך את הקובץ הזה - ערוך את המאסטר והתקן מחדש.

# (/tmp/crontab.20264 מותקן ביום ראשון 20 ביולי 22:35:14 2003)

בילי:~> crontab -l

# אל תערוך את הקובץ הזה - ערוך את המאסטר והתקן מחדש.

# (/tmp/crontab.20264 מותקן ביום ראשון 20 ביולי 22:35:14 2003)


# (גרסת Cron -- $Id: chap4.xml,v 1.28 2007/09/19 12:22:26 עד Exp $)

38 16 * * 3 מייל -ס "ערב ספורט" בילי

# (גרסת Cron -- $Id: chap4.xml,v 1.28 2007/09/19 12:22:26 עד Exp $)

38 16 * * 3 מייל -ס "ערב ספורט" בילי

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


בילי:~> -e crontab

45 15 * * 3 מייל -ס "ערב ספורט" בילי

4 4 * * 4,7 /home/billy/bin/backup.sh


<--כתוב וצא-->

crontab: התקנת crontab חדשה בילי:~>

בילי:~> -e crontab

45 15 * * 3 מייל -ס "ערב ספורט" בילי

4 4 * * 4,7 /home/billy/bin/backup.sh


<--כתוב וצא-->

crontab: התקנת crontab חדשה בילי:~>

אל האני backup.sh התסריט מבוצע בכל יום חמישי וראשון. ראה סעיף 7.2.5 למבוא ל-Shell scripting. זכור שפלט של פקודות, אם יש, נשלח בדואר לבעלים של קובץ ה-crontab. אם לא הוגדר שירות דואר, ייתכן שתמצא את הפלט של הפקודות שלך בתיבת הדואר המקומית שלך,

/var/spool/mail/ , קובץ טקסט רגיל.


מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: