Ogni utente ha il suo crontab
.
Per vederlo basta digitare
crontab -l
e, sì, l'hai visto bene, quando vuoi aggiungere un, crontab
allora semplicemente fallo
crontab -e
per la prima volta ti verrà chiesto dell'editor da usare crontab
. Dato che sei un principiante come dici, ti consiglio di usare nano, è l'editor più semplice da usare.
Il crontab stesso funziona in questo modo
MIN = Minute 0-60
HOUR = Hour [24-hour clock] 0-23
MDAY = Day of Month 1-31
MON = Month 1-12 OR jan,feb,mar,apr ...
DOW = Day of Week 0-6 OR sun,mon,tue,wed,thu,fri,sat
COMMAND = Command to be run Any valid command-line
Ad esempio, per attivare un lavoro ogni 15 minuti solo il lunedì, lo fai in questo modo
*/15 * * * mon /home/me/yourscript.sh
e SÌ è molto importante mettere il tuo cronjob nel crontab dell'utente che ha abbastanza diritti per eseguirlo.
Quindi, se il tuo script deve essere root o un utente speciale, assicurati di fare un sopralluogo a quell'utente e aggiungere il cronjob lì.
Anche molto importante!
cronjob è stupido! Sì, l'ho detto. Assicurati sempre di inserire il PERCORSO completo per quello application/command/script
che stai utilizzando, perché crontab non funzionerà con .bashrc
o simili. Devi sempre assicurarti di dire a cron dove possono trovare i file e le directory.
Per rispondere al resto delle tue domande:
Ovviamente funzionerà da solo, ecco a cosa serve. Ma devi controllare che cronjob lo faccia davvero, o se manca qualcosa. Ad esempio, accedi a un file di registro per vedere se funziona davvero.
E NO, non è necessario un riavvio. Un riavvio con Linux è normalmente necessario solo se si installa un nuovo kernel. Per usarlo dovresti riavviare. Quasi tutto il resto può essere fatto senza riavviare in Linux. Naturalmente ci sono eccezioni, ma in generale questa affermazione è corretta.
crontab -e
ti permette di modificare il crontab dell'utente senza sudo. I crontab dell'utente si trovano in/var/spool/cron/crontabs
una directory alla quale non è possibile accedere senza l'autorizzazione del superutente (ma in modo tale che una volta che cron abbia abbandonato i privilegi sia ancora in grado di leggerlo). Anche se usi sudo per provare a modificare direttamente il file, nella parte superiore viene visualizzato un grande avviso "NON MODIFICARE QUESTO FILE": il file è progettato per essere modificato utilizzando ilcrontab
comando che utilizza una copia temporanea/tmp
e quindi installa dopo aver salvato.