יש Windows מספר דרכים למכן משימות. הכלי הנפוץ ביותר הוא מתזמן המשימות של Windows, אבל אם אתה משתמש Windows Subsystem עבור לינוקס (WSL) גם, יש את השד cron כי משימות פועל ברקע עבור WSL שלך להתקין.
Cron אינו פועל לפי ברירת מחדל
ב- Windows 10 ו- Windows 11, cron מגיע כלול עם סביבות לינוקס כמו אובונטו. הצרה היא WSL לא מתחילה cron אוטומטי, כלומר המשימות האוטומטיות שלך אינו מקבלות להורג כברירת מחדל.
כדי לתקן זאת, אתה יכול להתחיל cron ידני בכל פעם שאתה פותח את שורת הפקודה, אך באופן ידני הפעלת כלי זה אמור למכן משימות הוא סוג של מפספסים את הנקודה.
למרבה המזל, יש דרך קלה לתקן את זה, והיא מחייבת באמצעות מתזמן המשימות.
אם מעולם לא השתמש cron ב לינוקס למשימות לרוץ, לבדוק ההדרכה הקודמת שלנו על כיצד לתזמן משימות על לינוקס . לענייננו כאן, אנחנו הולכים להניח כי כבר יצרו כמה משימות Cron WSL שלך להתקין ושאתם זקוקים לעזרה ולוודא כי הם רצים במקום שמרטפות cron כול הזמן.
עבור הדרכה זו, אנו מתכוונים להשתמש
שירות sudo
כדי לבדוק ולהתחיל cron, המהווה את הדרך המומלצת להפסיק ולהתחיל השירותים על בונה המודרנית של אובונטו-חלוקת הפופולרי ביותר עבור WSL.
כמו כן, שים לב כי הדרכה זו מניחה כי יש לך זכויות מנהל לגרסת WSL. אם אתה המשתמש היחיד של המחשב שהפעלת WSL בעצמך, אז יש לך זכויות מנהל.
עֵצָה: עבודות זה ב Windows Subsystem עבור לינוקס על Windows 11 גם-לא רק על Windows 10.
קָשׁוּר: כיצד לתזמן משימות על לינוקס: מבוא Crontab קבצים
כן לינוקס
הדבר הראשון שעלינו לעשות הוא לאפשר למחשב לבצע אתחול cron ללא סיסמה. כאשר אתה מתחיל שירות כמו cron, תשתמש בפקודה
תחילת cron שירות sudo
. אבל הפקודה דורש סיסמה, אשר Windows לא תהיה גישה כשזה מתחיל לעלות. הדרך לעקוף זאת היא לכבות את הדרישה לסיסמה עבור פקודה זו.
כדי לעשות זאת, לפתוח חלון WSL הטרמינל שלך להקליד
sudo visudo
. והקישו על Enter במקלדת, להזין את הסיסמה לינוקס שלך, ולחץ על מקש Enter שוב. אם אתה משתמש אובונטו, זה פותח את הקובץ "sudoers" באמצעות מתחיל ידידותי
עורך טקסט שורת הפקודה Nano
.
sudoers
זהו קובץ עבור מנהלי מערכת שיכולה לשנות הרשאות וזכויות גישה למשתמשים.
מוסיפים את הפקודה הבאה לתחתית הקובץ sudoers, ולאחר מכן לחץ על Ctrl + O כדי לשמור על Ctrl + X כדי לצאת קובץ.
% sudo ALL = NOPASSWD: / usr / sbin / תחילת cron שירות
הפקודה sudoers זה אומר שכל משתמש שיש לו הרשאות מספיק כדי להשתמש בפקודה sudo (שאמורה לכלול אותך) אינו דורש סיסמה כדי להריץ את הפקודה
תחילת cron שירות sudo
, אשר מתחיל את השד cron.
לאחר שתשמור את הקובץ, אתה יכול לבדוק כי הפקודה היא עושה את העבודה שלה על ידי הקלדה
תחילת cron שירות sudo
, והוא אמור להתחיל cron מבלי לבקש סיסמה. אם כי עבד, בואו נפנה cron שוב כדי שנוכל לבדוק כי המשימה שאנו יוצרים בשלב הבא עובדת כמו שצריך. כדי לעשות זאת, בבקשה להפעיל
stop cron שירות sudo
.
הגדרת Cron ב מתזמן המשימות של Windows
זה השלב הראשון של המסע שלנו לעבר אוטומציה cron. המהלך באים על מנת חלק 2 עם מתזמן המשימות. הקש על מקש Windows במקלדת, ולאחר מכן לחפש "מתזמן המשימות." הפעל את קיצור "מתזמן המשימות".
כשזה מתחיל לעלות, מבט תחת הסעיף "פעולות" ובחר "צור משימה בסיסית."
זה פותח את אשף המשימות בסיסי. ראשית, זה הולך לבקש ממך לקרוא את המשימה ולתת לו תיאור. אתה יכול להיכנס מה שאתה רוצה כאן. קראנו את המשימה "cron," והתיאור הוא, "משימה להתחיל cron בעת הפעלת המערכת." עכשיו, פגע "הבא."
בסעיף הבא, אנחנו ניגשים לעניין. ראשית, Windows שרוצה לדעת מתי אנחנו רוצים להריץ את המשימה. בחר את "בעת הפעלת המחשב" כפתור הרדיו ולחץ על "הבא."
בחלק הבא, אנו רוצים "הפעלת תוכנית." אפשרות זו נבחרת כברירת מחדל, כך לחץ על "הבא."
עכשיו, אנחנו צריכים לציין את התוכנית שאנחנו רוצים לרוץ, וזה WSL. הזן את הפרטים הבאים לתוך תיבת הזנת "תוכנית / סקריפט" טקסט:
C: \ Windows \ System32 \ wsl.exe
אנחנו גם צריכים להוסיף קצת ויכוחים, מכיוון שכל מה שעשינו עד כה הוא להתחיל WSL, אבל בתוך WSL, אנחנו צריכים להגיד אובונטו להתחיל cron. אז, בתיבת "הוסף טיעונים", מוסיף:
sudo / usr / sbin / שירות סטארט cron
Hit "הבאה" עוד פעם אחת, סמן את התיבה שאומרת "לפתוח את שיח Properties כשאני לוחץ על הסיום," ולאחר מכן לחץ על "סיום".
המשימה נוצרה, אבל אנחנו צריכים לעשות דבר אחד סופי לוודא שהכל עובד. חלון חדש יפתח, אשר מציג את הסיכום של המשימה שיצרת, אך היא מוגדרת רק לרוץ כשאתה מחובר. אנחנו צריכים לבחור בלחצן האפשרויות "משתמש ההפעלה בין אם הוא מחובר או לא", ולאחר מכן לחץ על "אישור".
עכשיו, בואו לבדוק המשימה שלנו בשתי דרכים. ראשית, בחלון הראשי של מתזמן המשימות, לגלול למטה עד שתראה שם המשימה שלך. אם השתמשת בשם "cron," זה צריך להימצא לכיוון החלק העליון של הרשימה. לחץ לחיצה ימנית על המשימה ובחר "הפעל".
ואז, לחזור מסוף WSL שלך וסוג ב
מצב cron שירות sudo
cron, ואת זה צריך לומר כי הוא פועל. אם זה לא, בדוק שהזנת את כל הפרטים כראוי בשלבים הקודמים.
אם הכל עבד כמו שצריך את הבדיקה הראשונה, הגיע הזמן למבחן הגדול. הפעל מחדש את המחשב, וכאשר אתה מקבל בחזרה, לפתוח מסוף WSL וברח
מצב cron שירות sudo
cron, אשר אמור לדווח כי החברה פועלת.
מזל טוב! בצעת את הצעד הראשון לתוך עולם גדול, אוטומטי. עם cron פועל ברקע, את cronjobs שתגדיר ב WSL יפעל באופן אוטומטי בהתאם ללוח הזמנים.