Quiero verificar que mi trabajo cron se está ejecutando y a qué hora. Creo que hay un registro para mis trabajos sudo crontab -e
, pero ¿dónde?
He buscado en google y he encontrado recomendaciones para buscar en /var/log
(en el que no veo nada con 'cron' en el nombre) y para editar el archivo /etc/syslog.conf
que tampoco tengo.
En una instalación por defecto, los trabajos cron se registran en
/var/log/syslog
Puede ver sólo los trabajos cron en ese archivo de registro ejecutando
grep CRON /var/log/syslog
Si no has reconfigurado nada, las entradas estarán ahí.
Puede crear un archivo cron.log que contenga sólo las entradas CRON que aparecen en syslog. Tenga en cuenta que los trabajos CRON seguirán apareciendo en syslog si sigue las siguientes instrucciones.
Abra el archivo
/etc/rsyslog.d/50-default.conf
Encuentra la línea que comienza con:
#cron.*
descomente esa línea, guarde el archivo y reinicie rsyslog:
sudo service rsyslog restart
Ahora debería ver un archivo de registro cron aquí:
/var/log/cron.log
La actividad de cron se registrará ahora en este archivo (además del syslog).
Tenga en cuenta que en cron.log verá entradas para cuando cron ejecutó scripts en /etc/cron.hourly, cron.daily, etc. - Por ejemplo, algo como
Apr 12 14:17:01 cd CRON[14368]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Sin embargo, no verá más información sobre qué scripts se ejecutaron realmente dentro de /etc/cron.daily o /etc/cron.hourly, a menos que esos scripts dirijan la salida al cron.log (o quizás a algún otro archivo de registro).
Si desea verificar si un crontab se está ejecutando y no tener que buscarlo en cron.log o syslog, cree un crontab que redirija la salida a un archivo de registro de su elección, algo así como
01 14 * * * /home/joe/myscript >> /home/log/myscript.log 2>&1
Esto redirigirá toda la salida estándar y los errores que pueda producir el script que se ejecute al archivo de registro especificado.