Quantcast
Channel: crontab – Linux Feed
Viewing all articles
Browse latest Browse all 12

Pianificare comandi e script con crontab

$
0
0

Nei sistemi operativi Unix e Unix-like, il comando crontab consente la pianificazione di comandi, ovvero consente di registrarli presso il sistema per essere poi mandati in esecuzione periodicamente. Lo stesso nome «crontab» si riferisce anche ai file utilizzati dal comando crontab come «registri» dei comandi pianificati.

Generalmente, crontab usa un demone, chiamato crond, che è costantemente in esecuzione in background e, una volta al minuto, legge i contenuti del registro dei comandi pianificati ed esegue quelli per cui si è esaurito il periodo di attesa. Un comando mandato in esecuzione da crontab viene chiamato cronjob.

Per prima cosa i comandi di base! Se vogliamo editare crontab apriamo il terminale e lanciamo il comando:

$ crontab -e

Di default l’editor di crontab è VI se vogliamo utilizzare un altro editor come nano o emacs lanciamo da terminale il seguente comando:

$ export EDITOR=nano
$ export EDITOR=emacs

per utilizzare invece mousepad o gedit:

$ export EDITOR=mousepad
$ export EDITOR=gedit

Mentre se vogliamo vedere la configurazione di crontab lanciamo il comando:

$ crontab -l

Alcuni esempi di schedulazione

1. Eseguire uno script o un comando il 29 di ogni mese alle 12:20

20 12 29 * * /home/user/script.sh
20 12 29 * * /usr/bin/squid -k check

2. Eseguire un comando o uno script ogni 2 minuti

*/2 * * * * /home/user/script.sh
*/2 * * * * /usr/bin/postqueue -f

3. Eseguire un comando o uno script solo Lunedì e Venerdì ogni 5 minuti

*/5 * * * 1-5 /home/user/script.sh
*/5 * * * 1-5 /usr/bin/postqueue -f

4. Eseguire un comando o uno script solo Martedì e Giovedì alle 10:30

30 10 * * 2-4 /home/user/script.sh
30 10 * * 2-4 /usr/bin/postqueue -f

Nell’immagine sotto una descrizione del funzionamento di crontab.

crontab-syntax

Per vedere se il comando o lo script schedulato parta correttamente basta semplicemente visionare il log /var/log/crond.log.

Consiglio ad ogni modifica che viene fatta di riavviare il servizio crond, anche se non sempre necessario.

N.B. Ogni utente ha la possibilità di configurare il proprio crontab, quindi se si volesse configurare come utente root eseguire prima l’accesso con l’utenza (“su -” “sudo su”) oppure sudo crontab -e o su -c “crontab -e


Viewing all articles
Browse latest Browse all 12

Latest Images

Trending Articles