Comprobar el inicio y el fin de un CRON en Solaris buscando en logs

Vamos a ver cómo comprobar los logs de cron, para ver cuando se ha ejecutado un cron en Solaris.

 
comprobar comienzo fin cron solaris
 

 

Listar los Cron Jobs del sistema en Solaris

 
Para comprobar los trabajos cron que se ejecutan actualmente en un sistema Solaris:

 

run-parts -v –test /etc/cron.hourly/

run parts cron comprobar tareas cron sistema
 

 

Reenviar salida de cron a fichero

 
cuando programamos un cron, es posible reenviar la salida del log del cron a un directorio y fichero concreto, por ejemplo:

* * * * * mi-cron > /log/cron1

De esa forma sabemos que el cron ha dejado un log, con el timestamp (la fecha y la hora).
 

 

Reenviar salida de log de cron al log del sistema (syslog)

 
Además también podemos reenviar la salida del log de cron al fichero syslog, con logger (logger introduce mensajes al log del sistema, con una etiqueta) así:

 

*/5 * * * * tu-cron-job 2>&1 | /usr/bin/logger -t etiqueta

 

 

Ver cuando se ha ejecutado y ha terminado un cron que no manda la salida a un fichero de log (buscar el cron en los logs del sistema)

 
pero si el cron está configurado para no dejar registro en ningún lado, sino para mandar la información de salida al agujero negro de /dev-/null, así:

*/5 * * * * mi-cron-job > /dev/null 2>&1

 
y queremos encontrar información acerca de cuando ha terminado el cron en solaris, tendremos que buscarlo de otra forma.

 

Normalmente en los sistemas Solaris el log del cron suele estar en /var/cron/log

 

Lo que podemos hacer es usar el comando grep y buscar el nombre del cron en /var/cron

 

TE RECOMENDAMOS  IMPACT: Oracle Solaris is not running with Spectre Vulnerability Mitigation Enabled

Así que buscamos con grep el nombre del cron en el fichero de log /var/cron/log :

grep -i mi-cron-job  /var/cron/log

 

Y encontraremos logueada la info del inicio del cron job:

> CMD: /root/scripts/mi-cron-job.sh >/dev/null 2>&1
root 8907 c Feb Mon 3 08:16:00 2020
…..
 
…..

 
Podemos ver que el cron job se ha lanzado a las 08:16

 

Pero no podemos ver nada más porque debajo de la línea de comienzo resulta que hay info registrada de otros crones y procesos posteriores.

 

Así que lo que haremos es buscar por el PID de proceso que hemos visto en la línea del log que indicaba el comienzo del cron:

root 8907 c Feb Mon 3 08:16:00 2020

 
el PID era 8907, así que de nuevo usamos el comando grep y buscamos el PID 8907  en el fichero  /var/cron/log

y finalmente ya hemos encontrado las líneas de información referentes al cron, tanto a su hora de comienzo como a su hora de finalización:

grep 8907  /var/cron/log
root 8907 c Feb Mon 3 08:16:00 2020
 
root 8907 c Feb Mon 3 08:56:00 2020

 
Por tanto vemos que el cron ha comenzado a las 08:16 y ha terminado a las 08:56
 
Y esta es una buena forma de comprobar cuándo se ha ejecutado un cron, y cuándo ha terminado un cron en Solaris.