crontab

Cum se configurează joburile Cron în Linux

Cum se configurează joburile Cron în Linux
Automatizarea și programarea sarcinilor repetate pe desktop-uri și servere îmbunătățește productivitatea și reduce intervenția și monitorizarea manuală. Numeroase astfel de instrumente sunt disponibile pentru Linux și unul dintre cele mai utilizate pe scară largă este „cron”.

Acest articol va explica sarcinile de planificare și rularea scripturilor la intervale regulate utilizând joburi cron.

Ce este Cron?

Cron este un program de programare a sarcinilor care rulează în fundal ca proces. Poate fi folosit pentru a rula periodic anumite lucrări care sunt programate folosind setul său de reguli predefinite. Cron vine preinstalat pe majoritatea distribuțiilor Linux sau este disponibil în depozite pentru a fi instalat manual.

Presetări Cron

Cron pe Ubuntu vine cu un set de planificatoare predefinite. Le puteți verifica executând comanda de mai jos:

$ ls / etc / cron.*

De obicei, aceste foldere sunt „/ etc / cron.orar ”,„ / etc / cron.zilnic ”,„ / etc / cron.lunar ”și„ / etc / cron.săptămânal".

Pur și simplu puneți scripturile dorite într-unul dintre aceste foldere pentru a rula sarcini automate orar, zilnic, lunar sau săptămânal.

Rețineți că cron folosește implicit shell-ul „/ bin / sh”. Dacă doriți să utilizați „/ bin / bash” ca shell în scripturile cron, trebuie să utilizați „!# / bin / bash ”hashbang în partea de sus a fișierului script sau definiți shell-ul ca variabilă„ SHELL = / bin / bash ”în prima linie dintr-un script bash programat. Anularea variabilei de mediu „SHELL” funcționează și pentru editorul crontab explicat mai jos.

Nu toate variabilele de mediu ale sistemului pot fi expuse la joburile cron. Deci, în general, este o idee bună să definiți manual variabile de mediu importante într-un script programat de cron.

Crontab

Crontab vă permite să vă definiți propriile sarcini programate. Puteți să-l utilizați pentru a configura programări cron diferite de cele patru presetări cron standard explicate mai sus.

Pentru a seta o sarcină programată în crontab, lansați mai întâi editorul crontab folosind comanda de mai jos:

$ crontab -e

Acum, la sfârșitul fișierului, puteți adăuga o intrare în următorul format:

minut oră zi lună săptămână / complet / cale / către / script.SH

Unde:

Intrarea crontab de mai jos va face o captură de ecran a desktopului și o va stoca în directorul de acasă o dată la ora 15:13 pe 2 martie, plus în fiecare marți din martie la ora 15:13.

13 15 2 3 2 scrot

Pentru a lista toate intrările crontab, utilizați comanda de mai jos:

$ crontab -l

Mai multe exemple

Sarcinile Cron pot fi explicate cel mai bine prin exemple, așa că mai jos sunt câteva exemple care vor prelua periodic capturi de ecran ale desktopului și le vor stoca în dosarul principal.

Pe lângă cele cinci variabile de planificare, cron folosește și câteva șiruri speciale pentru a programa lucrări. Aceste șiruri sunt:

Intrarea crontab de mai jos va face o captură de ecran o dată la fiecare repornire:

@ rebot scrot

Puteți înlocui „@reboot” cu orice alte șiruri speciale menționate mai sus.

Utilizarea unui asterisc sau a unui wildcard în locul oricăreia dintre cele cinci variabile va repeta lucrarea pe toate noile instanțe ale acelei variabile. Intrarea de mai jos va face o captură de ecran în fiecare minut:

* * * * * Scrot

Fiecare ora:

0 * * * * scrot

În fiecare zi la ora 18:00:

0 18 * * * scrot

În fiecare lună pe 6 la ora 18:00:

0 18 6 * * scrot

Utilizați „/” pentru a rula un script la un interval periodic fix de 30 de minute (rulează la fiecare 30 de minute):

* / 30 * * * * scrot

Puteți utiliza variabile separate prin virgulă pentru a defini executarea repetată a scriptului la intervale regulate. Exemplul de mai jos va face o captură de ecran a desktopului dvs. în fiecare minut 1, 4 și 5 dintr-o nouă oră.

1,4,5 * * * * scrot

Verificarea intrărilor Crontab

Definirea intrărilor crontab poate fi dificilă, dar depanarea acestora sau verificarea dacă funcționează la timestampuri corecte este chiar mai complicată. O opțiune este să utilizați o mașină virtuală și să înregistrați marcajele de timp ale unui script care rulează periodic pe o lucrare cron, incluzând ceva de genul comenzii „dată” și redirecționând ieșirea către un fișier text. Cu toate acestea, o soluție mai bună este să utilizați unul dintre numeroasele servicii de testare a joburilor cron online disponibile pe web. Vă recomand să oferiți site-ului web cron tester Aici o incercare.

Concluzie

Rularea lucrărilor cron este o modalitate excelentă de a automatiza sarcinile repetate, în special pe servere. Instrumentul este extrem de puternic și personalizabil. Cu toate acestea, este important să vă asigurați că definiția planificatorului dvs. funcționează corect, mai ales dacă există sarcini critice pentru misiune.

Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...
Cele mai bune jocuri de linie de comandă pentru Linux
Linia de comandă nu este doar cel mai mare aliat al tău când folosești Linux - poate fi și sursa de divertisment, deoarece poți să o folosești pentru ...
Best Gamepad Mapping Apps for Linux
If you like to play games on Linux with a gamepad instead of a typical keyboard and mouse input system, there are some useful apps for you. Many PC ga...