Puede crear un archivo cron.log para contener solo 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
Encuentre 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 de cron aquí:
/var/log/cron.log
La actividad de cron se registrará ahora en este archivo (además de syslog).
Tenga en cuenta que en cron.log verá entradas de cuándo cron ejecutó scripts en /etc/cron.hourly, cron.daily, etc. - por ejemplo:
Abr 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 tal vez 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í:
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.
0 votos
Ten en cuenta que en el contexto de
crontab
, el carácter%
crea una nueva línea, por lo que su uso incorrecto (es decir, no escaparlo, por ejemplo endate +"%Y-%m-%d"
) puede prevenir un registro correcto (date +%Y-%m-%d >> /tmp/cron.log
no funcionará). Además, esta respuesta puede ayudar.