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


433

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


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

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


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 

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.



6

Prueba esto: sudo cron reload me funciona en ubuntu 12.10


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.


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


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.


0

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.