crontab

Crontab în Linux

Crontab în Linux
Odată cu apariția noilor tehnologii, dorim ca totul să fie automatizat, inclusiv sistemele noastre de calculatoare. De exemplu, în calitate de administrator de sistem, este posibil să dorim ca backupul nostru să fie rulat în fiecare seară la 2:00. Atunci care este scopul computerelor dacă trebuie să ne trezim zilnic la 2:00 și să executăm comenzile manual pentru a iniția backupul. Ar trebui să existe o modalitate care să spună sistemului să ruleze automat o copie de rezervă la un anumit moment. Din fericire, sistemul de operare Linux oferă un utilitar cron care permite automatizarea sarcinilor la o anumită perioadă.

Cron este un utilitar eficient și popular din linia de comandă folosit pentru a programa o gamă largă de sarcini la un moment specificat, fără interacțiunea utilizatorului. Sarcinile programate sunt cunoscute sub numele de joburi cron, în timp ce crontab este lista fișierului care conține joburile cron.

În acest articol, vă vom explica cu diferite exemple de exemple, puteți edita și utiliza fișierul crontab pentru a programa sarcini în sistemul Debian 10.

Cron poate fi utilizat pentru automatizarea sarcinilor în următoarele scenarii:

Sintaxă

Este mai ușor să lucrați cu cron, după ce înțelegeți sintaxa acestuia. Sintaxa generală de utilizat cron este:

* * * * / cale / către / script.SH

Fiecare dintre câmpuri corespunde următoarelor:

Minut (0-59) Oră (0-24) Ziua_lunii (1-7) Luna_Anului_ (1-12)
Comanda Day_of_the_Week (0-6)

Instalarea Cron

Cron vine preinstalat în Debian 10. Cu toate acestea, dacă lipsește din sistemul dvs., rulați următoarea comandă pentru instalare:

$ sudo apt install cron

Vizualizați crontab

Pentru a vizualiza fișierul crontab, utilizați următoarea comandă:

$ crontab -l

Pentru a vizualiza fișierul crontab al unui anumit utilizator, utilizați următoarea comandă:

$ sudo crontab -u user -l

Editați crontab

Pentru a edita fișierul crontab al utilizatorului curent:

$ crontab -e

Pentru a edita fișierul crontab al unui anumit utilizator:

$ sudo crontab -u utilizator

Dacă editați fișierul crontab pentru prima dată, vi se va cere să alegeți un editor:

După ce selectați editorul, va apărea următoarea fereastră.

De exemplu, doriți să rulați un script de rezervă numit „backup.sh ”situat în directorul de documente zilnic la 2:00 am. Pentru a face acest lucru, va trebui să adăugați următoarea linie în fișierul dvs. crontab:

0 2 * * * / Documente / copie de rezervă.SH

În fereastra de mai sus, puteți adăuga lucrările cron una câte una. După ce ați terminat, salvați și ieșiți din fișier, după care toate joburile cron vor rula automat la intervalul specificat.

Îndepărtați crontab

Pentru a elimina fișierul crontab, introduceți următoarea comandă în Terminal:

$ crontab -r

Acum permiteți să parcurgem o serie de exemple de joburi cron pe o mașină Linux.

1. Rulați un job cron în fiecare minut

Pentru a executa un job cron în fiecare minut, adăugați următoarea linie în fișierul dvs. crontab:

* * * * * / cale / către / script.SH

2. Rulați o lucrare cron după fiecare 10 minute

Pentru a programa o lucrare cron pentru a se executa după fiecare 10 minute, adăugați următoarea linie în fișierul dvs. crontab.

* / 10 * * * * / cale / către / script.SH

3. Rulați un job cron în anumite luni

Pentru a programa un job cron pentru a fi executat în anumite luni e.g. Martie, august, decembrie, adăugați jobul cron în fișierul dvs. crontab în felul următor:

* * * ianuarie, mai, aug * / cale / către / script.SH

4. Rulați un job cron în zilele selectate

Dacă doriți ca jobul dvs. cron să fie executat în anumite zile, să presupunem că duminica și vinerea la ora 17:00, ar trebui să arate după cum urmează.

0 17 * * soare, fri / cale / către / script.SH

5. Rulați zilnic un job cron la o anumită oră

Pentru a programa o lucrare cron pentru a se executa zilnic la o anumită oră, să presupunem că la 3 dimineața, adăugați această linie în fișierul dvs. crontab.

0 3 * * * / cale / către / script.SH

6. Rulați un job cron într-o anumită zi

Pentru a programa o lucrare cron pentru a se executa într-o anumită zi, să presupunem că în fiecare duminică, adăugați această linie în fișierul dvs. crontab.

0 0 * * SUN / cale / către / script.SH

Locul de muncă va rula la 00:00 în fiecare duminică.

7. Rulați mai multe sarcini într-o singură lucrare cron

Pentru a programa mai multe sarcini într-o singură lucrare cron, adăugați toate scripturile din fișierul dvs. crontab separându-le cu un punct și virgulă.

* * * * * / cale / către / script1.SH; / cale / către / script2.SH

8. Rulați un job cron pe fiecare ziua săptămânii

Pentru a programa un job cron pentru a fi executat în fiecare zi a săptămânii, de luni până vineri, va trebui să adăugați această linie în fișierul dvs. crontab.

0 0 * * 1-5 / cale / către / script.SH

Locul de muncă va rula la ora 00:00 în fiecare săptămână.

9. Rulați un job cron de două ori pe zi

Pentru a programa o lucrare pentru a rula de două ori pe zi e.g. la 6 am și 3 pm, va trebui să adăugați această linie în fișierul dvs. crontab:

0 6,15 * * * / cale / către / script.SH

10. Rulați un job cron în fiecare oră

Pentru a programa o lucrare cron pentru a se executa la fiecare oră la minutul 0, va trebui să adăugați această linie în fișierul dvs. crontab:

0 * * * * / cale / către / script.SH

De exemplu, dacă ora curentă este 14:00, lucrarea va rula la 15:00, 16:00 și așa mai departe.

11. Rulați un job cron după fiecare 3 ore

Pentru a programa o lucrare cron pentru a rula după fiecare 3 ore la minutul 0, va trebui să adăugați această linie în fișierul dvs. crontab:

0 * / 3 * * * / cale / către / script.SH

De exemplu, dacă ora curentă este ora 14, lucrarea va rula la 17:00, 20:00 și așa mai departe.

12. Rulați jobul cron la ora 16:00 în fiecare lună

Pentru a programa o lucrare pentru a rula prima zi a fiecărei luni la ora 16:00, va trebui să adăugați această linie în fișierul dvs. crontab:

0 16 1 * * / cale / către / script.SH

Corzi în Crontab

De asemenea, puteți utiliza următoarele șiruri mai degrabă decât comenzile repetitive lungi.

@ orar- Rulați jobul cron la fiecare oră i.e. „0 * * * *“
@ miezul nopții - Rulați jobul cron în fiecare zi i.e. „0 0 * * *“
@ zilnic- la fel ca miezul nopții
@ săptămânal - Rulați jobul cron în fiecare săptămână, i.e. „0 0 * * 0“
@ lunar- Rulați jobul cron în fiecare lună i.e. „0 0 1 * *“
@ anual- Rulați jobul cron în fiecare an i.e. „0 0 1 1 *“
@ anual - la fel ca @ anual
@ reboot - Rulați jobul cron la fiecare boot

De exemplu, pentru a rula jobul cron în fiecare zi în primul minut și prima oră, adăugați următoarea linie:

@ zilnic / cale / către / script.SH

De exemplu, pentru a rula jobul cron de fiecare dată când serverul este repornit:

@ reboot / path / to / script.SH

Asta este tot ce există! În acest articol, am învățat cum să automatizăm diferite sarcini folosind crontab în sistemul Debian. Utilizând exemplele de mai sus, puteți programa orice tip de lucrare pentru a iniția fără nicio interacțiune a utilizatorului.

Instrumente utile pentru jucătorii Linux
Dacă vă place să jucați jocuri pe Linux, este posibil să fi folosit aplicații și utilitare precum Wine, Lutris și OBS Studio pentru a îmbunătăți exper...
Jocuri HD remasterizate pentru Linux care nu au avut niciodată lansare Linux mai devreme
Mulți dezvoltatori și editori de jocuri vin cu remasterizarea HD a jocurilor vechi pentru a prelungi durata de viață a francizei, vă rog fanilor să so...
Cum se utilizează AutoKey pentru automatizarea jocurilor Linux
AutoKey este un utilitar de automatizare desktop pentru Linux și X11, programat în Python 3, GTK și Qt. Folosind funcțiile sale de scriptare și MACRO,...