Cron è un demone di pianificazione dei lavori basato sul tempo nei sistemi operativi basati su Linux. Viene utilizzato per pianificare attività specifiche da eseguire periodicamente a orari, date o intervalli fissi. È molto simile all'utilità di pianificazione delle attività di Windows ed è molto utile per le attività di routine, tra cui:
- Backup giornalieri
- Scansione del sistema
- Manutenzione automatica del sistema
Il demone cron viene eseguito in background e controlla continuamente il file /etc/crontab e le directory /etc/cron.*/.
Sintassi Crontab
La sintassi di base del file crontab è mostrata di seguito:
M H DOM MON DOW USER COMMAND * * * * * root command(s) - - - - - | | | | | | | | | ----- Day of week (0 - 7) (Sunday=0 or 7) | | | ------- Month (1 - 12) | | --------- Day of month (1 - 31) | ----------- Hour (0 - 23) ------------- Minute (0 - 59)
- Minuti (M) specificato come numero da 0 a 59.
- Ore (H) specificati come numeri da 0 a 23.
- Giorni del mese (DOM) specificati come numeri da 1 a 31.
- Mesi (LUN) specificati come numeri da 1 a 12.
- Giorni della settimana (DOW) specificato come numeri da 0 a 7, con la domenica rappresentata come uno/sia 0 che 7.
Comandi di Crontab
Alcuni comandi crontab comunemente usati sono mostrati di seguito:
- crontab -e :utilizzato per modificare o creare un nuovo file crontab.
- crontab -l :Usato per visualizzare il contenuto del file crontab.
- crontab -i :utilizzato per rimuovere il file crontab corrente con un prompt prima della rimozione.
- crontab -r :Usato per rimuovere il file crontab corrente senza chiedere conferma.
- crontab -u:utilizzato per modificare il file crontab di un altro utente.
1. Pianifica un cron da eseguire alle 10:00 Attività giornaliera
Se vuoi che uno script chiamato /opt/test.sh venga eseguito ogni giorno alle 10:00, esegui il seguente comando:
crontab -e
Aggiungi la seguente riga:
0 10 * * * /bin/sh /opt/test.sh
2. Pianifica un cron da eseguire ogni 5 minuti
Per eseguire uno script test.sh ogni 5 minuti, reindirizzare l'output standard a /dev/null e inviare errori a un indirizzo e-mail specificato, eseguire il comando seguente:
crontab -e
Aggiungi la seguente riga:
[email protected] */5 * * * * /bin/sh /opt/test.sh > /dev/null
3. Pianifica un cron da eseguire ogni giorno, ogni ora, dalle 10:00 alle 18:00
Per eseguire uno script test.sh ogni giorno, ogni ora, dalle 10:00 alle 18:00, esegui il comando seguente:
crontab -e
Aggiungi la seguente riga:
00 10-18 * * * /bin/sh /opt/test.sh
4. Pianifica un cron da eseguire alle 10:00 il primo di ogni mese
Per eseguire uno script test.sh alle 10:00 del primo di ogni mese, esegui il comando seguente:
crontab -e
Aggiungi la seguente riga:
00 10 1 * * /bin/sh /opt/test.sh
5. Pianifica l'esecuzione di un cron 10 minuti dopo la mezzanotte e successivamente ogni tre ore, ogni giorno
Per eseguire uno script test.sh 10 minuti dopo la mezzanotte e ogni 3 ore dopo, ogni giorno, esegui il comando seguente:
crontab -e
Aggiungi la seguente riga:
10 0-23/3 * * * /bin/sh /opt/test.sh
6. Pianifica un cron da eseguire in giorni specifici
Per eseguire uno script test.sh ogni lunedì e venerdì alle 18:00, esegui il comando seguente:
crontab -e
Aggiungi la seguente riga:
0 18 * * mon,fri /bin/sh /opt/test.sh
7. Pianifica un cron per eseguire più script
Per eseguire uno script test.sh e test1.sh a intervalli di 2 ore, esegui il comando seguente:
crontab -e
Aggiungi la seguente riga:
0 */2 * * * /bin/sh /opt/test.sh; /bin/sh /opt/test1.sh
8. Pianifica un cron da eseguire ogni settimana, mese o anno
Per eseguire un test.sh ogni settimana, aggiungi la seguente riga:
@weekly /bin/sh /opt/test.sh
Per eseguire un test.sh ogni mese, aggiungi la seguente riga:
@monthly /bin/sh /opt/test.sh
Per eseguire un test.sh ogni anno, aggiungi la seguente riga:
@yearly /bin/sh /opt/test.sh
Conclusione
Nella guida sopra, hai imparato cos'è cron e come usarlo, con diversi esempi. Inizia subito a utilizzare i lavori cron per automatizzare le attività quotidiane con l'hosting VPS di Atlantic.Net!