Si solo está interesado en saber si su cronjob se está ejecutando actualmente y cuándo comenzó por última vez, entonces encuentro la siguiente manera más fácil:
0 0 * * * touch /path/cron.start; /path/exec.sh; touch /path/cron.end
Esto creará un archivo /path/cron.start
con una marca de tiempo que es la hora de inicio. Cuando finaliza el trabajo, el archivo /path/cron.end
tendrá la marca de tiempo cuando el cron terminó. Así que un simple ls -lrt /path/cron.{start,end}
le indicará cuándo comenzó el trabajo y si aún se está ejecutando (la orden le indicará si aún se está ejecutando).
para verificar si cron realmente está ejecutando algo en este momento (funciona en ubuntu)
pstree -apl `pidof cron`
y obtendrás
2775,cron # your pid (2775) will be different to mine :-)
o una salida de árbol con todos los procesos secundarios que cron está ejecutando (es posible que no los nombre si no tiene suficientes privilegios) y, como dice Hamoriz, los registros están en /var/log/syslog así que
grep CRON /var/log/syslog
obtendrá los registros solo para cron
También me gustaría ver si alguno de mis trabajos cron se está ejecutando en este momento ?
ps aux |grep "path/exec.sh"
¿a qué hora se ejecutó mi trabajo cron?
El registro de cron solo se muestra cuando se inicia la tarea fuera de crond, no se registra cuando finaliza. Debe poner esto en su tarea o incrustar su tarea en un script con tiempo de control de inicio y finalización.
si ya se ha ejecutado?
cat /ruta/registros/mensajes o /ruta/registros/archivo cuando su sistema coloca registros de crond (esto depende de la configuración de su distribución o de su computadora)