A Windows számos módja van a feladatok automatizálására. A leggyakoribb eszköz a Windows Task Scheduler, de ha a Windows alrendszer Linux (WSL) , Ott van még a cron démon fut feladatok a háttérben a WSL telepíteni.
Cron nem működik alapértelmezés szerint
A Windows 10 és a Windows 11 rendszeren a Cron tartalmazza a Linux környezeteket, mint az Ubuntu. A baj az, hogy a WSL nem indítja el Cron automatikusan, ami azt jelenti, hogy az automatikus feladatok alapértelmezés szerint nem hajthatók végre.
Ennek javítása, manuálisan elindíthatja a CRON-t minden alkalommal, amikor megnyitja a parancssorot, de manuálisan el kell indítania egy olyan eszközt, amely a feladatok automatizálásának feltétele, hogy hiányzik a pont.
Szerencsére könnyű megoldani ezt, és megköveteli a feladat ütemezőjét.
Ha még soha nem használta a Cron Linux-t, hogy futtassa a feladatokat, nézze meg előző bemutatónkat Hogyan ütemezzük a Linux feladatait . A mi célunk során azt fogjuk feltételezni, hogy már létrehozott néhány Cron munkahelyet a WSL telepítésében, és segítségre van szüksége annak biztosítására, hogy a Babysitting Cron ahelyett, hogy mindig.
Ehhez a bemutatóhoz fogjuk használni
sudo szolgáltatás
A Cron ellenőrzése és elindítása, amely a javasolt módja az Ubuntu legnépszerűbb eloszlásának modern építésének megállításához és megkezdéséhez a WSL számára.
Ezenkívül vegye figyelembe, hogy ez a bemutató feltételezi, hogy rendszergazdai jogosultsága van a WSL verziójára. Ha Ön a számítógéped egyetlen felhasználója, és akkor engedélyezte a WSL-t saját, akkor rendszergazdai jogokkal rendelkezik.
Tipp: Ez a Windows alrendszer Linux for Windows 11 , Túl - nem csak a Windows 10-re.
ÖSSZEFÜGGŐ: Hogyan ütemezzük a Linux feladatait: Bevezetés a Crontab fájlokba
Előkészíti a Linuxot
Az első dolog, amit meg kell tennünk, hogy a számítógép jelszó nélkül indítsa el a CRON-t. Amikor olyan szolgáltatást indít, mint Cron, használja a parancsot
Sudo Service Cron Start
. De ez a parancs jelszót igényel, mely ablakok nem férnek hozzá, amikor elindul. Ennek az úton van, hogy kikapcsolja a parancsra vonatkozó követelményt.
Ehhez nyissa meg a WSL terminál ablakát és írja be a
sudo visudo
. Nyomja meg az Enter billentyűzetét, írja be a Linux jelszavát, és nyomja meg újra az Enter billentyűt. Ha Ubuntu-t használ, akkor ezt megnyitja a "sudoers" fájlt a kezdőbarát használatával
Nano parancssori szövegszerkesztő
.
Sudoers
A rendszergazdák számára olyan fájl, amely megváltoztathatja a jogosultságokat és hozzáférési jogokat a felhasználók számára.
Adja hozzá a következő parancsot a sudoers fájl aljára, majd nyomja meg a Ctrl + O gombot a mentéshez és a Ctrl + X-hez a fájlból való kilépéshez.
% sudo all = nopasswd: / usr / sbin / service cron start
Ez sudoers parancs azt mondja, hogy minden olyan felhasználó, aki megfelelő jogosultsággal a sudo parancs használata (amelynek tartalmaznia kell neked) nem kér jelszót a parancs futtatásához
Sudo Service Cron Start
, amely elindítja a Cron démont.
Miután megmentette a fájlt, ellenőrizheti, hogy a parancs a gépeléssel történik-e
Sudo Service Cron Start
, és meg kell kezdeni Cron anélkül, hogy kérné a jelszót. Ha ez a munka, akkor kapcsoljuk ki a Cron-t, hogy teszteljük, hogy a következő lépés, amit a következő lépésben működik megfelelően. Ehhez kérjük, futjon
sudo szolgáltatás cron stop
.
Állítsa be a CRON-t a Windows Task Scheduler-ben
Ez az egyik fázis az egyik utazás a Cron Automation felé. Menjünk tovább a 2. részre a feladat ütemezőjével. Érintse meg a billentyűzet Windows gombot, majd keresse meg a "Feladatütemezőt". Indítsa el a "Feladási ütemező" parancsikont.
Amikor elindul, nézze meg a "Műveletek" szakasz, és válassza az "Alapvető feladat létrehozása" lehetőséget.
Ez megnyitja az alapvető feladat varázslót. Először is kérni fogja, hogy nevezze meg a feladatot, és adja meg egy leírást. Beléphetsz, amit akarsz itt. A "Cron" -nek neveztük, és a leírás az, hogy "egy feladat, hogy elindítsa a CRON rendszerindítását." Most, nyomja meg a "Next" -t.
A következő részben az üzletbe jutunk. Először is, a Windows azt akarja tudni, hogy mikor szeretnénk futtatni a feladatot. Válassza ki a "Ha a számítógép elindítja a rádió gombot, és kattintson a" Tovább "gombra.
A következő részben "program indítása". Ez az opció alapértelmezés szerint van kiválasztva, így kattintson a "Tovább" gombra.
Most meg kell adnunk a futtatni kívánt programot, ami WSL. Adja meg a következőket a "Program / Script" szövegbeviteli mezőbe:
C: Windows \ system32 \ wsl.exe
Bizonyos érveket is hozzá kell adnunk, mivel mindazt, amit eddig elvégeztünk, a WSL indítása, de a WSL belsejében meg kell mondanunk az Ubuntu-nak, hogy elindítsuk Cron-t. Tehát az "Argumentumok hozzáadása" mezőben adja hozzá:
sudo / usr / sbin / service cron start
Hit "Következő" Még egyszer, jelölje be a "Tulajdonságok párbeszédablak megnyitása, amikor a Befejezés gombra kattintva", majd kattintson a "Befejezés" gombra.
A feladat létrejött, de egy utolsó dolgot kell tennünk annak érdekében, hogy minden működik. Egy új ablak nyílik meg, amely megmutatja a létrehozott feladat összefoglalását, de csak akkor állítható be, ha bejelentkezett. Kiválasztanunk kell a rádiógombot, amely azt mondja: "Futtatás, hogy a felhasználó bejelentkezett-e vagy sem,", majd nyomja meg az "OK" gombot.
Most teszteljük feladatunkat két módon. Először is, a feladat ütemező főablakában görgessen le, amíg meg nem jelenik a feladat neve. Ha használta a "Cron" nevet, akkor a lista tetejére kell találni. Kattintson a jobb gombbal a feladatra, és válassza a "Futtatás" lehetőséget.
Ezután menjen vissza a WSL termináljához, és írja be
SUDO SERVICE CRON állapot
, és azt kell mondania, hogy a Cron fut. Ha nem, akkor ellenőrizze, hogy mindent helyesen adta meg az előző lépésekben.
Ha minden rendben dolgozott az első ellenőrzés során, itt az ideje a nagy tesztnek. Indítsa újra a számítógépet, és amikor visszajön, nyissa meg a WSL terminált és futtassa
SUDO SERVICE CRON állapot
, amelyről azt kell jelentenie, hogy a Cron most fut.
Gratulálunk! Első lépést vettél egy nagyobb, automatizált világba. A háttérben futó Cron, a WSL-ben konfigurált Cronjob automatikusan fut ütemezésre.