21 mayo, 2019

Generar un fichero de log de la ejecución de las tareas de CRON con rsyslog

Cuando añadimos nuevas tareas programas a cron la única forma de que estas generen un log del proceso de las acciones que van realizando es redireccionarlas a un fichero de log, en la propia línea que ejecuta la tarea dentro de cron usando la redirección.

Un ejemplo podría ser:
01 14 * * * root /home/user/script.sh >> /logs/script.log 2>&1
Si no queremos ver las acciones de la tarea que se ejecuta y simplemente queremos comprobar si una tarea se está ejecutando y cuando. Podemos consultar el syslog del sistema buscando por la palabra CRON.
tail -f /var/log/syslog | grep CRON 
Si lo que queremos es obtener un fichero independiente con este filtro, es posible crear un fichero de log específico para la ejecución de tareas cron.

RSYSLOG (Rocket-fast system for log processing) es una utilidad que nos permite entre otras múltiples funcionalidades crear un filtro dentro del fichero syslog del sistema y exportar los resultados a un nuevo fichero.

Se creará un fichero cron.log que contendrá solamente las entradas CRON que se muestran en syslog. Hay que tener en cuenta que los trabajos de CRON seguirán apareciendo en syslog.

Por defecto rsyslog está instalado por defecto en Ubuntu, sino lo estuviese.
apt install -y rsyslog
Editamos el fichero
/etc/rsyslog.d/50-default.conf
Buscamos y descomentamos la línea:
#cron.*
Guardamos el fichero.

Habilitamos el servicio automáticamente en el inicio del sistema y reiniciarlo.
systemctl enable rsyslog
systemctl restart rsyslog
Ahora debería existir un fichero de registro cron en:
/var/log/cron.log
Saludos!

No hay comentarios:

Publicar un comentario

Entradas Relacionadas