Situatie
Avem nevoie sa facem ca un script sa ruleze la un anumit interval pe un server.
Backup
Nu este cazul
Solutie
Pasi de urmat
Pe Linux, pentru a putea seta un job care sa ruleze la un anumit interval folosim cron.
Acesta este un program care citeste un fisier si apoi executa ceea ce este scris in acel fisier.
Putem verifica daca avem deja joburi care se executa cu comanda:
crontab -l
andrei@server:~$ crontab -l
no crontab for andrei
andrei@server:~$
Pentru a adauga joburi vom folosi editorul de cron.
El se porneste cu crontab -e
andrei@server:~$ crontab -e
no crontab for andrei – using an empty one
Select an editor. To change later, run ‘select-editor’.
1. /bin/nano 2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
Choose 1-3 [1]: 2
Mai sus vedem ca atunci cand rulam prima data comanda crontab -e ne va intreba cu ce editor vrem sa lucram.
Daca de exemplu avea un script numit “acest_script.sh” si vrem ca el sa se execute la ora 16:30 in fiecare zi lucratoare a saptamanii vom face astfel:
30 16 * * 1-5 /cale/catre/acest_script.sh
Sintaxa pentru a programa orarul este urmatoarea:
* * * * * comanda
1 2 3 4 5 comanda
Unde:
1 = Minute (0 – 59)
2 = Ora (0 – 23)
3 = Ziua lunii(1 – 31)
4 = Luna (1 – 12)
5 = Zi a saptamanii (0 – 7)
Avem de asemenea posibilitatea sa folosim operatori care ne ofera inafara de ore fixe la care sa execute comenzi si ciclicitate de executare.
De exemplu:
* */2 * * 5-7 /cale/catre/acest_script.sh
Aici am folosit operatorii: / si –
Comanda de mai sus va rula la fiecare 2 ore in zilele de vineri pana duminica
Leave A Comment?