La única forma confiable que encontré es verificar el registro.
cron
comprueba /etc/crontab
cada minuto y registra un mensaje que indica que lo ha vuelto a cargar o que ha encontrado un error.
Entonces, después de editar, ejecuta esto:
sleep 60; grep crontab /var/log/syslog | tail
O, para no esperar un minuto completo, sino solo hasta el siguiente minuto + 5 segundos:
sleep $(( 60 - $(date +%S) + 5 )) && grep cron /var/log/syslog | tail
Ejemplo de salida con un error:
Jan 9 19:10:57 r530a cron[107258]: Error: bad minute; while reading /etc/crontab
Jan 9 19:10:57 r530a cron[107258]: (*system*) ERROR (Syntax error, this crontab file will be ignored)
Buena salida:
Jan 9 19:19:01 r530a cron[107258]: (*system*) RELOAD (/etc/crontab)
Eso está en Debian 8. En otros sistemas, cron puede iniciar sesión en un archivo diferente.
(Pensé que podría evitar buscar el archivo de registro correcto usando systemd's journalctl -u cron
, pero eso no me mostró estas entradas de registro, y en realidad parece haber dejado de registrar eventos cron hace 2 días por alguna razón)