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/syslog
como 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 de nuevo, ahora no hay entradas relacionadas con cron.
No soy consciente de que algo ha cambiado. He intentado reiniciar cron:
# service cron restart
cron stop/waiting
cron start/running, process 24907
Intenté usar crontab -e
para agregar un trabajo cron * * * * * date >> /tmp/somefile
que funcionó, pero instaló un nuevo crontab /var/spool/cron/crontabs/root
, mientras que quiero que cron use el archivo /etc/crontab
.
¿Hay alguna opción de depuración que pueda usar o un registro en algún lugar que pueda dar un mensaje de error que pueda investigar?
no crontab for root
.crontab
comando (-l
switch) dependen del usuario, mientras que/etc/crontab
se usan para almacenar crons de todo el sistema. Por esta razón, las tareas guardadas en/etc/crontab
no aparecerán en nadiecrontab -l
.Respuestas:
Para ayudarlo a depurar lo que está mal en sus
cron
trabajos, debe revisar su correo. Esto generalmente se almacena en un archivo como/var/mail/<user_name>
o/var/spool/mail/<user_name>
.Estos dos archivos son en realidad enlaces duros en mi cuadro de Debian, pero no sé si esto es estándar.
Explicación
De la
cron(8)
página:fuente
Ha demostrado que no hay crontab para root, ¿algún usuario tiene una entrada crontab? Si solo usa 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.
así que creo que solo necesitas agregar trabajos cron.
fuente
/etc/crontab
. Quizás la pregunta es ¿por qué nocrontab -l
lo reconoce?Resolví esto cambiando los permisos
/etc/crontab
a lo siguiente:Anteriormente lo era
-rw-rw-r--
. Ese fue el único cambio. No estaba funcionando, ahora lo está. Aún no estoy seguro de por qué.fuente
También tuve un tipo similar de problema, pero después de especificar la raíz como usuario en el
/etc/crontab
, el trabajo cron comenzó a activarse.Puede deberse a la sintaxis seguida en la
crontab -e
que es diferente de la/etc/crontab
.fuente