Riavvio di cron dopo aver modificato il file crontab?


433

Devo riavviare cron dopo aver modificato il file crontable?


8
Non trascurare la risposta di @ leonbloy, ma ho scoperto che l'implementazione del primo cron job del mio Linux (un lavoro al minuto formattato correttamente) non ha funzionato fino al riavvio del sistema. sudo service cron restartnon è stato testato.
geotheory,

1
@geotheory yikes Spero di non dover riavviare il mio server prod ogni volta che aggiorno il mio crontab (e non lo faccio).
jcollum,

Risposte:


614

No.

Dalla pagina man cron :

... cron esaminerà quindi il tempo di modifica su tutti i crontab e ricaricherà quelli che sono cambiati. Pertanto cron non deve essere riavviato ogni volta che viene modificato un file crontab

Ma se vuoi solo assicurarti che sia fatto comunque,

sudo service cron reload

o

/etc/init.d/cron reload

10
Se si utilizza la cartella cron.d, i crontab con collegamento simbolico non verranno ricaricati. Come posso forzare una ricarica?
CMCDragonkai,

13
Ah è così facile. È adesso sudo service cron restart.
CMCDragonkai,

21
L'opzione migliore è ricaricare - può essere avviata da un utente non root:/etc/init.d/cron reload
Honza,

8
@CMCDragonkai Forse al crondposto di cron.
Cees Timmerman,

33
L'unico problema con questa risposta è che non è sempre vero. Vedi il commento di geotheory sotto la domanda. Anch'io sono stato morso da questo. Ho apportato una modifica al file crontab tramite sudo crontab -e, ho salvato la modifica Ctrl + Xe sono andato via supponendo che l' cronavrebbe presa (a causa di questa risposta così altamente votata). Quindi, giorni dopo, il mio cliente riferisce che il cron è ancora in esecuzione sul vecchio ciclo. Quindi, onestamente, se vuoi essere al sicuro, riavvia semplicemente uno dei due sistemi crono il sistema e non perdere tempo a perdere tempo con i test, cosa che dovrai fare nonostante questa risposta altamente votata.
Dan Nissenbaum,

53

Su CentOS con cPanel sudo /etc/init.d/crond reloadfa il trucco.

Su CentOS7: sudo systemctl start crond.service


3
Grazie per la linea CentOs 7
Mathieu de Lorimier,

1
//, Per ricaricare crond, piuttosto che avviarlo sul sistema sempre più orribile, eseguire sudo systemctl reload crond.service.
Nathan Basanese,

@NathanBasanese Il ricaricamento cronsu SystemD ora è considerato magia nera: sudo systemctl reload crondfallisce con Failed to reload cron.service: Job type reload is not applicable for unit cron.service.(Ubuntu 18.04). Leggi: A dirla tutta, siamo tutti spinti dalla sindrome: "SystemD, ce ne può essere solo uno". Se la ricarica non viene eseguita automagicamente dietro le quinte, sei sballato! Non pensare nemmeno a risolverlo, come hai fatto negli ultimi 3 (o più) decenni! Leggi: Il mondo di Windows ha finalmente ingoiato Debian: se c'è qualcosa di strano sotto il cofano, cosa farai? Ricomincia!
Tino,

Il riavvio è molto più che ricaricare. Non è disponibile un'opzione di ricarica pulita per Centos?
Ωmega

@Tino puoi installare cronie
Bob il

27

Ho avuto un problema simile sul 16.04 VPS Digital Ocean. Se stai cambiando crontab, assicurati di eseguire

sudo service cron restart 

Ha funzionato per me. Grazie
Tien Nguyen il

Vedo solo reloadè abbastanza. Non c'è bisogno restart. Grazie. :)
Tien Nguyen il

12

A seconda della distribuzione, l'uso di "cron reload" potrebbe non fare nulla. Per incollare uno snippet da init.d / cron (debian squeeze):

reload|force-reload) log_daemon_msg "Reloading configuration files for periodic command scheduler" "cron"
    # cron reloads automatically
    log_end_msg 0
    ;;

Alcuni sviluppatori / manutentori si sono affidati al suo ricaricamento, ma non lo fanno, e in questo caso non c'è modo di forzare il ricaricamento. Sto generando i miei file crontab come parte di una distribuzione e, a meno che in qualche modo la lunghezza del file non cambi, le modifiche non vengono ricaricate.


9

prova questo per centos 7: service crond ricaricare


6

Prova questo: sudo cron reload funziona per me su Ubuntu 12.10


Non funziona su mia Raspberry Pi 3+ con Ubuntu 18.04.2 LTS
Gen

3

Prova questo service crond restart:, quindi crondnon lo è cron.


crondservizio non riconosciuto. Funziona con cronme. il mio sistema operativo è Ubuntu 18.04
Tien Nguyen il

1

Ci sono casi in cui cron deve essere riavviato affinché lo script di avvio funzioni. Non c'è niente di sbagliato nel riavviare il cron.

sudo service cron restart


0

1) Se il file viene /var/spool/cron/crontabs/rootmodificato tramite client SFTP, è necessario service cron restart. Il servizio di ricarica non funziona.

2) Se si modifica il file /var/spool/cron/crontabs/roottramite console linux (nano, mc) - non è necessario riavviare.

3) Se modifica cron tramite crontab -e- riavvia NON è necessario.


0

Ubuntu 18.04 * Uso: /etc/init.d/cron {start | stop | status | restart | ricaricare | force-reload}

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.