Ho bisogno del codice esatto che userei perché non sono in grado di capirlo. Uso crontab -e
per impostare un lavoro cron ma quando lo salvo, non funziona mai. Sto anche solo cercando di eseguire un file chiamato newmail.sh
dall'utente root.
Ho bisogno del codice esatto che userei perché non sono in grado di capirlo. Uso crontab -e
per impostare un lavoro cron ma quando lo salvo, non funziona mai. Sto anche solo cercando di eseguire un file chiamato newmail.sh
dall'utente root.
Risposte:
Se desideri che l'attività venga eseguita ogni giorno alle 15:17, utilizzeresti:
17 15 * * * root newmail.sh
Questo dice "esegui newmail.sh come root ogni giorno della settimana, ogni giorno del mese, ogni mese alle 15:17".
minuto ora dom mese utente dow cmd
minuto: controlla il minuto dell'ora in cui verrà eseguito il comando, compreso tra '0' e '59'
hour - Controlla l'ora su cui verrà eseguito il comando ed è specificato nell'orologio delle 24 ore, i valori devono essere compresi tra 0 e 23 (0 è mezzanotte)
dom - Questo è il giorno del mese in cui si desidera eseguire il comando, ad es. per eseguire un comando il 19 di ogni mese, il dom sarebbe 19.
mese Questo è il mese in cui verrà eseguito un comando specificato, può essere specificato numericamente (0-12) o come nome del mese (ad es. maggio)
dow - Questo è il giorno della settimana in cui si desidera eseguire un comando, può anche essere numerico (0-7) o come nome del giorno (ad es. sole).
utente - Questo è l'utente che esegue il comando.
cmd - Questo è il comando che si desidera eseguire. Questo campo può contenere più parole o spazi.
da: http://www.unixgeeks.org/security/newbie/unix/cron-1.html
sudo crontab -e
Aggiungi queste righe alla fine del file
*/1 * * * * wget -O /dev/null project_crone_URL
(Esegui cron per una volta in 1 minuto)
0 0 * * * wget -O /dev/null project_crone_URL
(Esegui cron per una volta in 24 ore)
salvare il file
Avviare crontab con questo comando
sudo /etc/init.d/cron start
Arresta crontab con questo comando
sudo /etc/init.d/cron stop
Riavvia crontab con questo comando
sudo /etc/init.d/cron restart
Se usi crontab -e
poiché Ubuntu 16.0+ non avrà il campo utente, quindi il formato corretto è:
17 15 * * * newmail.sh
Questo dice "esegui newmail.sh ogni giorno della settimana, ogni giorno del mese, ogni mese alle 15:17".
Altri modi in cui la risposta di dm78 è corretta e contiene la descrizione esatta del formato.
Inoltre, se qualcosa va storto e hai un sistema di posta installato ti invierà un messaggio. Per maggiori informazioni vedi questa risposta
Se sei interessato alla registrazione di cronjobs, puoi usare questa risposta .
crontab -e
coso non dispone di un campo utente (come dici tu correttamente) ma il file /etc/crontab
(il cosiddetto sistema di crontab) ei file sotto /etc/cron.d
fare avere un campo utente.