¿Es necesario reiniciar cron o crond después de cada nueva adición o modificación de horario?

29

Cuando programo un trabajo, algunos parecen aplicarse inmediatamente, mientras que otros después de un reinicio. Entonces, ¿se recomienda reiniciar cron( crond) después de agregar un nuevo trabajo cron? ¿Cómo hacer eso correctamente (especialmente en un sistema Debian), y eso debería hacerse con sudo(me gusta sudo service cron restart) incluso para los usuarios normales?

Lo intenté:

/etc/init.d/cron restart

lo que no parece que el trabajo (tampoco lo hace /etc/init.d/cron stopo service cron stop) y completa con el código de retorno 1.

Aquí hay una parte de la salida del mensaje:

Dado que el script que está intentando invocar se ha convertido en un trabajo Upstart, también puede usar la utilidad stop (8), por ejemplo, stop cron stop: Mensaje de envío rechazado, 1 reglas coincidentes; type = "method_call", sender = ": 1.91" (uid = 1000 pid = 3647 comm = "stop cron") interface = "com.ubuntu.Upstart0_6.Job" member = "Stop" error name = "(unset)" request_reply = "0" destination = "com.ubuntu.Upstart" (uid = 0 pid = 1 comm = "/ sbin / init")

(¿Qué significa eso?)

preciso
fuente

Respuestas:

18

No, no tiene que reiniciar cron, notará los cambios en sus archivos crontab (ya sea /etc/crontabo un archivo crontab de los usuarios).

En la parte superior de su / etc / crontab probablemente tenga (si tiene la implementación Vixie de cronese IIRC es el de Debian):

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

La razón por la que es posible que no vea cambios específicos implementados es si agrega cosas a, por ejemplo, /etc/cron.dailyy la ejecución diaria ya ha ocurrido.

El mensaje que recibe es porque usa una forma antigua de reiniciar cron en su sistema. La forma recomendada (pero no necesaria si solo edita archivos cron) es:

 restart cron

Por supuesto, debe reiniciar para ver los efectos de un trabajo cron @reboot

Timo
fuente
no era un trabajo de reinicio, pero cada n minutos de trabajo cron ... y reiniciar parece funcionar con sudo con las formas antiguas y nuevas ... pero no para un usuario normal ...
preciso
¿Cómo editas el crontab? Como usuario con crontab -e?
Timo
sí .. crontab -ees lo que yo uso ..
precisa
¿Tienes Vixie Cron (mira man cron-> Nombre)
Timo
1
Parece que solo guardar los cambios no es suficiente, ¡y los trabajos programados se aplican solo después de que el editor de texto (que uso nano) también se cierra! ..y tal vez eso haya causado la confusión ...
precisa
3

Es posible que no sea necesario reiniciar. Como he dicho en mis comentarios al editor de texto que se ha utilizado (la que se asigna para la edición de trabajos cron) para editar la tarea necesita ser cerrado ; solo guardar el contenido no es suficiente . (Eso es lo que he experimentado. Editar tareas mediante nanoy guardar con Ctrl+ Ocon el archivo aún abierto no aplica las ediciones inmediatamente, sino solo después de que el editor se cierra con Ctrl+ X).

Y como se menciona en esta respuesta (por terdon ), el cron daemon verificará, cada minuto, para ver si se debe ejecutar algún trabajo y desencadenar los que tiene que hacerlo.

preciso
fuente