¿Reiniciar cron después de cambiar el archivo crontab?

433

¿Tengo que reiniciar cron después de cambiar el archivo crontable?

bArmageddon
fuente
8
Sin dejar de lado la respuesta de @ leonbloy, pero descubrí que implementar el primer trabajo cron de mi Linux (un trabajo por minuto correctamente formateado) no funcionó hasta que se reinició el sistema. sudo service cron restartNo fue probado.
geotheory
1
@geotheory yikes Espero no tener que reiniciar mi servidor prod cada vez que actualizo mi crontab (y no lo hago).
jcollum

Respuestas:

614

No.

Desde la página de manual de cron :

... cron luego examinará el tiempo de modificación en todos los crontabs y volverá a cargar los que hayan cambiado. Por lo tanto, no es necesario reiniciar cron cada vez que se modifica un archivo crontab

Pero si solo quieres asegurarte de que se haga de todos modos,

sudo service cron reload

o

/etc/init.d/cron reload
leonbloy
fuente
10
Si usa la carpeta cron.d, las crontabs con enlaces simbólicos no se volverán a cargar. ¿Cómo puedo forzar una recarga?
CMCDragonkai
13
Ah, es así de fácil. Es ahora sudo service cron restart.
CMCDragonkai
21
La mejor opción es volver a cargar: puede ser iniciado por un usuario no root:/etc/init.d/cron reload
Honza,
8
@CMCDragonkai Posiblemente en crondlugar de cron.
Cees Timmerman
33
El único problema con esta respuesta es que no siempre es cierto. Ver el comentario de geotheory debajo de la pregunta. Yo también fui mordido por esto. Hice un cambio en el archivo crontab a través de sudo crontab -e, guardé el cambio Ctrl + Xy me fui asumiendo que cronlo recogería (debido a que esta respuesta está muy votada). Luego, días después, mi cliente informa que el cron todavía se está ejecutando en el ciclo anterior. Entonces, honestamente, si quieres estar seguro, solo reinicia uno crono el sistema, y ​​no juegues con las pruebas de tiempo perdido, lo que tendrás que hacer a pesar de esta respuesta altamente votada.
Dan Nissenbaum
53

En CentOS con cPanel sudo /etc/init.d/crond reloadhace el truco.

En CentOS7: sudo systemctl start crond.service

Sheldmandu
fuente
3
Gracias por la línea CentOs 7
Mathieu de Lorimier
1
//, Para volver a cargar crond, en lugar de simplemente iniciarlo en el sistemad cada vez más horrible, ejecuta sudo systemctl reload crond.service.
Nathan Basanese
@NathanBasanese La recarga cronen SystemD ahora se considera magia negra: sudo systemctl reload crondfalla con Failed to reload cron.service: Job type reload is not applicable for unit cron.service.(Ubuntu 18.04). Leer: Se va, todos estamos afectados por el síndrome: "SystemD, solo puede haber uno". Si la recarga no se realiza automáticamente detrás de escena, ¡estás en quiebra! ¡Ni siquiera piense en arreglarlo, como lo hizo durante las últimas 3 (o más) décadas! Leer: El mundo de Windows finalmente se tragó a Debian: si hay algo extraño debajo del capó, ¿qué vas a hacer? ¡Reiniciar!
Tino
Reiniciar es más que solo recargar. ¿No hay una opción de recarga limpia disponible para Centos?
Ωmega
@Tino puedes instalar cronie
Bob
27

Tuve un problema similar en 16.04 VPS Digital Ocean. Si está cambiando crontabs, asegúrese de ejecutar

sudo service cron restart 
Gyro
fuente
Funcionó para mi. Gracias
Tien Nguyen
Solo veo que reloades suficiente. No hay necesidad restart. Gracias. :)
Tien Nguyen
12

Dependiendo de la distribución, el uso de "recarga cron" podría no hacer nada. Para pegar un fragmento de 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
    ;;

Algunos desarrolladores / mantenedores confiaron en su recarga, pero no lo hacen, y en este caso no hay una manera de forzar la recarga. Estoy generando mis archivos crontab como parte de una implementación y, a menos que la longitud del archivo cambie, los cambios no se vuelven a cargar.

Tit Petric
fuente
9

pruebe este para centos 7: service crond reload

Instinto
fuente
6

Prueba esto: sudo cron reload me funciona en ubuntu 12.10

jono
fuente
No funciona en mi Raspberry Pi 3+ con Ubuntu 18.04.2 LTS
Jan
3

Pruebe esto: service crond restartPor lo tanto, crondno lo es cron.

ako
fuente
crondservicio no reconocido. Funciona cronconmigo. mi sistema operativo es Ubuntu 18.04
Tien Nguyen
1

Hay casos en los que cron debe reiniciarse para que el script de inicio funcione. No hay nada de malo en reiniciar el cron.

sudo service cron restart

Mawty
fuente
0

1) Si la /var/spool/cron/crontabs/rootedición del archivo se realiza a través del cliente SFTP, es necesario service cron restart. El servicio de recarga no funciona.

2) Si edita el archivo a /var/spool/cron/crontabs/roottravés de la consola de Linux (nano, mc), reinicie NO es necesario.

3) Si edita cron vía crontab -e- reiniciar NO es necesario.

vebmaster
fuente
0

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

Aqua Huang
fuente