crontab è un comando Linux / Unix in grado di programmare (cosiddetto scheduling) il lavoro periodico in background, ovvero far eseguire a determinati orari, in automatico, certi script.
Sintassi crontab
Si danno le istruzioni per riga, una alla volta, indicando la periodicità dell’evento e il comando da eseguire, ad esempio:
* * * * * pippo.sh
eseguirà pippo.sh ogni minuto.
L’utilità crontab creerà , sostituirà o modificherà i cosiddetti crontab di un utente; una entry del crontab è un elenco di comandi e gli orari in cui devono essere eseguiti, secondo la notazione internazionale dei crontab Linux. La nuova voce crontab può essere immessa specificando file o immessa dallo standard input se non è specificato alcun operando file, oppure utilizzando un editor, se è specificato -e. Se lo standard output e l’errore standard non vengono reindirizzati appositamente dai comandi eseguiti dalla voce crontab, qualsiasi output o errore generato deve essere inviato, tramite un metodo definito dall’implementazione, all’utente (fonte).
La sintassi consigliata impone l’uso dei doppi apici per rendere disambiguo il comando, ed evitare che Linux non riesca ad eseguire i comandi
* * * * * "/var/www/mysql-resuscitator.sh"
fa in modo che ogni minuto venga eseguito il comando in questione al path indicato (.sh sono file eseguibili di shell), che sarà opportuno testare prima da terminale, farlo funzionare e poi soltanto dopo inserire all’interno del cron desiderato. Altro esempio (# introduce un commento):
#!/usr/bin/python3 0 * * * * /usr/bin/python3 "/path/to/script/python.py"
esegue ogni ora lo script Python indicato.
Gestione dei crontab da linea di comando
Per vedere i cron attivi da SSH o da terminale Linux digitate:
crontab -l
per editare i cron digitare:
crontab -e
Una volta dentro, fate le modifiche (CTRL K cancella una riga, CTRL C salva le modifiche, CTRL X esce dalla schermata di editing) e poi salvate ed uscite.Ogni volta che fate una modifica ad un cron è opportuno ricaricare le modifiche esplicitamente mediante:
service cron reload
alchè Linux dovrebbe rispondere con un OK:
Reloading configuration files for periodic command scheduler cron [ OK ]
Per stoppare i cron digitate:
service cron stop
Per avviare i cron digitate
service cron start
Per riavviare i cron digitate
service cron restart
Crontab pronti all’uso (esempi)
Crontab ogni minuto (1440 volte al giorno)
* * * * *
Crontab ogni minuto pari (720 volte al giorno)
*/2 * * * *
Crontab ogni minuto dispari (720 volte al giorno)
1-59/2 * * * *
Crontab ogni 6 minuti (240 volte al giorno)
*/6 * * * *
Crontab ogni ora (24 volte al giorno)
0 * * * *
Crontab ogni due ore (12 volte al giorno)
0 * * * *
Crontab ogni mezz’ora (48 volte al giorno)
*/30 * * * *
👇 Contenuti da non perdere 👇
- Gratis 🎉
- Marketing & SEO 🌪
- Programmare 🖥
- Reti 💻
- Scrivere 🖋
- Svago 🎈
- 💬 Il nostro canale Telegram: iscriviti
- 🔴 Digitale Terrestre 2023: guida pratica a DVB-T2
- 🟡 Domini .cheap: come e dove registrarne uno
- 🔵 Come associare un hosting ad un dominio?