¿Cómo puedo saber por qué cron no ejecuta mis trabajos?

¿Cómo puedo saber por qué cron no ejecuta mis trabajos?

Estoy usando Ubuntu 14.04 y el demonio cron se está ejecutando:

# ps ax | grep cron
822 ?        Ss     0:00 cron

pero no está ejecutando ningún trabajo. Anteriormente recibía entradas /var/log/syslogcomo esta:

2014-05-04T11:47:01.839754+01:00 localhost CRON[29253]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ))

pero ahora no hay entradas relacionadas con cron. También recibí entradas como esta en /var/log/auth.log:

2014-05-04T11:47:01.839183+01:00 localhost CRON[29252]: pam_unix(cron:session): session opened for user root by (uid=0)
2014-05-04T11:47:13.495691+01:00 localhost CRON[29252]: pam_unix(cron:session): session closed for user root

pero nuevamente, ahora no hay entradas relacionadas con cron.

No soy consciente de que algo haya cambiado. Intenté reiniciar cron:

# service cron restart
cron stop/waiting
cron start/running, process 24907

Intenté usar crontab -epara agregar un trabajo cron * * * * * date >> /tmp/somefileque funcionó, pero instaló un nuevo crontab en /var/spool/cron/crontabs/root, mientras que quiero que cron use el archivo en /etc/crontab.

¿Existe alguna opción de depuración que pueda usar o algún registro en algún lugar que pueda mostrar un mensaje de error que pueda investigar?

Respuesta1

Para ayudarle aún más a depurar los problemas con sus crontrabajos, debe revisar su correo. Generalmente se almacena en un archivo como /var/mail/<user_name>o /var/spool/mail/<user_name>.

Estos dos archivos son en realidad enlaces físicos en mi máquina Debian, pero no sé si son estándar.

Explicación

De la cron(8)página:

Al ejecutar comandos, cualquier resultado se envía por correo al propietario del crontab (o al usuario nombrado en la variable de entorno MAILTO en el crontab, si existe).

Respuesta2

Ha demostrado que no hay crontab para root, ¿algún usuario tiene una entrada crontab? Si solo está utilizando root, también puede consultar los siguientes directorios: /etc/cron.daily/ - /etc/cron.hourly/ - /etc/cron.monthly/ - /etc/cron.weekly

en mi máquina (centos 6.4) tengo mlocate.cron dentro del directorio /etc/cron.daily/ y cron ejecuta ese script diariamente.

entonces creo que solo necesitas agregar trabajos cron.

Respuesta3

Resolví esto cambiando los permisos /etc/crontaba lo siguiente:

-rw-r--r-- 1 root root 778 May 10 21:31 /etc/crontab

Anteriormente lo era -rw-rw-r--. Ese fue el único cambio. No estaba funcionando, ahora sí. Todavía no estoy seguro de por qué.

Respuesta4

También tuve un tipo de problema similar, pero después de especificar la raíz como usuario en el archivo /etc/crontab, el trabajo cron comenzó a activarse.

Puede deberse a que la sintaxis seguida en el crontab -earchivo es diferente a la del archivo /etc/crontab.

información relacionada