CUM SA

Cum se lansează automat Cron în WSL pe Windows 10 și 11

Windows are mai multe moduri de a automatiza sarcinile. Cel mai obișnuit instrument este Windows Task Scheduler, dar dacă utilizați subsistemul Windows pentru Linux (WSL), există și demonul cron care rulează sarcini în fundal pentru instalarea WSL.

Cron nu rulează implicit

Pe Windows 10 și Windows 11, cron este inclus în medii Linux, cum ar fi Ubuntu. Problema este că WSL nu pornește cron automat, ceea ce înseamnă că sarcinile dvs. automatizate nu sunt executate în mod implicit.

Pentru a remedia acest lucru, puteți începe cron manual de fiecare dată când deschideți linia de comandă, dar pornirea manuală a unui instrument care ar trebui să automatizeze sarcinile este un fel de lipsă a punctului.

Din fericire, există o modalitate ușoară de a remedia acest lucru și necesită utilizarea Programatorului de activități.

O fereastră de terminal Windows WSL care arată că cron nu rulează.

Dacă nu ați folosit niciodată cron în Linux pentru a rula sarcini, consultați tutorialul nostru anterior despre cum să programați sarcini pe Linux. Pentru scopurile noastre de aici, vom presupune că ați creat deja câteva joburi cron în instalarea WSL și că aveți nevoie de ajutor pentru a vă asigura că acestea rulează în loc să-l îngrijească pe cron tot timpul.

Pentru acest tutorial, vom folosi sudo service pentru a verifica și porni cron, care este modalitatea recomandată de a opri și porni serviciile pe versiunile moderne de Ubuntu – cea mai populară distribuție pentru WSL.

De asemenea, rețineți că acest tutorial presupune că aveți drepturi de administrator pentru versiunea dvs. de WSL. Dacă sunteți singurul utilizator al computerului dvs. și ați activat WSL pe cont propriu, atunci aveți drepturi de administrator.

Bacsis: Acest lucru funcționează și în subsistemul Windows pentru Linux pe Windows 11 – nu doar pe Windows 10.

LEGATE DE: Cum să programați sarcini pe Linux: o introducere în fișierele Crontab

Pregătiți Linux

Primul lucru pe care trebuie să-l facem este să permitem computerului să pornească cron fără o parolă. Când porniți un serviciu precum cron, utilizați comanda sudo service cron start. Dar acea comandă necesită o parolă, la care Windows nu va avea acces la pornire. Modalitatea de a rezolva acest lucru este de a dezactiva cerința pentru o parolă pentru această comandă.

Citeste si  Cum se utilizează mai multe conturi pe Instagram

Pentru aceasta, deschideți fereastra terminalului WSL și tastați sudo visudo. Apăsați Enter pe tastatură, introduceți parola Linux și apăsați din nou tasta Enter. Dacă utilizați Ubuntu, acesta deschide fișierul „sudoers” utilizând editorul de text din linia de comandă Nano, pentru începători. Sudoers este un fișier pentru administratorii de sistem care poate modifica privilegiile și drepturile de acces pentru utilizatori.

Adăugați următoarea comandă în partea de jos a fișierului sudoers, apoi apăsați Ctrl + o pentru a salva și Ctrl + x pentru a ieși din fișier.

%sudo ALL=NOPASSWD: /usr/sbin/service cron start

Această comandă sudoers spune că orice utilizator care are destule privilegii pentru a utiliza comanda sudo (care ar trebui să vă includă) nu necesită o parolă pentru a rula comanda sudo service cron start, care pornește demonul cron.

După ce ați salvat fișierul, puteți verifica dacă comanda își face treaba tastând sudo service cron start, și ar trebui să înceapă cron fără a cere o parolă. Dacă a funcționat, să oprim din nou cronul, astfel încât să putem testa că sarcina pe care o creăm în pasul următor funcționează corect. Pentru a face acest lucru, vă rugăm să alergați sudo service cron stop.

Configurați Cron în programul de activități Windows

Aceasta este prima fază a călătoriei noastre către automatizarea cron. Să trecem la partea 2 cu Task Scheduler. Atingeți tasta Windows de pe tastatură, apoi căutați „Programare activități”. Lansați comanda rapidă „Programator activități”.

Rezultatele căutării în Windows 10 arată Task Scheduler ca opțiune.

Când pornește, căutați sub secțiunea „Acțiuni” și selectați „Creați o activitate de bază”.

Task Scheduler din Windows 10 cu o săgeată roșie care indică spre "Creați o activitate de bază" opțiune.

Aceasta deschide Expertul de activități de bază. În primul rând, vă va cere să denumiți sarcina și să îi oferiți o descriere. Puteți introduce orice doriți aici. Am numit sarcina „cron”, iar descrierea este „O sarcină pentru a porni cron la pornirea sistemului”. Acum, apăsați „Următorul”.

În secțiunea următoare, ne apucăm de treabă. În primul rând, Windows vrea să știe când vrem să executăm sarcina. Alegeți butonul radio „Când pornește computerul” și faceți clic pe „Următorul”.

Citeste si  Cum se tastează caractere speciale pe un PC Windows

Un set de butoane radio din Windows 10 cu o săgeată roșie care indică spre "Când pornește computerul" opțiune.

În secțiunea următoare, dorim „Începeți un program”. Această opțiune este selectată în mod prestabilit, deci faceți clic pe „Următorul”.

Opțiunile programului Windows 10 Task Scheduler cu săgeți roșii care indică calea programului și caseta de introducere a textului pentru argumente suplimentare.

Acum, trebuie să specificăm programul pe care dorim să-l rulăm, care este WSL. Introduceți următoarele în caseta de introducere a textului „Program / Script”: C:WindowsSystem32wsl.exe

De asemenea, trebuie să adăugăm câteva argumente, deoarece tot ce am făcut până acum este să pornim WSL, dar în interiorul WSL, trebuie să spunem Ubuntu să înceapă cron. Deci, în caseta „Adăugați argumente”, adăugați: sudo /usr/sbin/service cron start

Fereastra finală de creare a sarcinii programatorului de activități Windows 10 cu o săgeată roșie care indică opțiunea de a deschide fereastra proprietăților sarcinii la final.

Apăsați „Următorul” încă o dată, bifați caseta care scrie „Deschideți dialogul Proprietăți când fac clic pe Terminare”, apoi faceți clic pe „Finalizare”.

O fereastră de proprietăți a activității Windows cu o săgeată roșie care indică opțiunea "Rulați dacă utilizatorul este conectat sau nu."

Sarcina este creată, dar trebuie să facem un ultim lucru pentru a ne asigura că totul funcționează. Se va deschide o fereastră nouă, care arată rezumatul sarcinii pe care ați creat-o, dar este setată să ruleze numai când sunteți conectat. Trebuie să selectăm butonul radio care spune „Rulați dacă utilizatorul este conectat sau nu” și apoi apăsați „OK”.

Acum, să testăm sarcina noastră în două moduri. Mai întâi, în fereastra principală a Programatorului de activități, derulați în jos până când vedeți numele activității dvs. Dacă ați folosit numele „cron”, acesta ar trebui să fie găsit în partea de sus a listei. Faceți clic dreapta pe sarcină și selectați „Rulați”.

O fereastră de terminal care arată că cron rulează.

Apoi, reveniți la terminalul WSL și tastați sudo service cron status, și ar trebui să spună că cron rulează. În caz contrar, verificați dacă ați introdus totul corect în pașii anteriori.

Dacă totul a funcționat corect în prima verificare, este timpul pentru marele test. Reporniți computerul și, când reveniți, deschideți un terminal WSL și rulați sudo service cron status, care ar trebui să raporteze că cron rulează acum.

Citeste si  Cum să personalizați statisticile de antrenament pe care le vedeți pe un Apple Watch

Felicitări! Ai făcut primul tău pas într-o lume mai largă și automată. Cu cron rulat în fundal, cronjob-urile pe care le configurați în WSL vor rula automat în mod programat.

Articole Similare

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Back to top button