Le seul moyen fiable que j'ai trouvé est de consulter le journal.
cron
vérifie /etc/crontab
toutes les minutes et enregistre un message indiquant qu'il l'a rechargée ou qu'il a détecté une erreur.
Donc, après l'édition, lancez ceci:
sleep 60; grep crontab /var/log/syslog | tail
Ou, pour ne pas attendre une minute complète, mais seulement jusqu'à la minute suivante + 5 secondes:
sleep $(( 60 - $(date +%S) + 5 )) && grep cron /var/log/syslog | tail
Exemple de sortie avec une erreur:
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)
Bon rendement:
Jan 9 19:19:01 r530a cron[107258]: (*system*) RELOAD (/etc/crontab)
C'est sur Debian 8. Sur d'autres systèmes, cron peut se connecter dans un fichier différent.
(Je pensais pouvoir éviter de rechercher le bon fichier journal en utilisant systemd journalctl -u cron
, mais cela ne m'a pas montré ces entrées de journal et semble en fait avoir arrêté de consigner les événements cron il y a 2 jours pour une raison quelconque)