L'unico modo affidabile che ho trovato è controllare il registro.
cron
controlla /etc/crontab
ogni minuto e registra un messaggio che indica che lo ha ricaricato o che ha riscontrato un errore.
Quindi dopo la modifica, esegui questo:
sleep 60; grep crontab /var/log/syslog | tail
Oppure, per non attendere un minuto intero, ma solo fino al minuto successivo + 5 secondi:
sleep $(( 60 - $(date +%S) + 5 )) && grep cron /var/log/syslog | tail
Esempio di output con un errore:
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)
Buona uscita:
Jan 9 19:19:01 r530a cron[107258]: (*system*) RELOAD (/etc/crontab)
È su Debian 8. Su altri sistemi, cron potrebbe accedere a un altro file.
(Ho pensato che avrei potuto evitare di cercare il file di registro giusto usando systemd's journalctl -u cron
, ma questo non mi ha mostrato queste voci di registro, e in realtà sembra aver smesso di registrare eventi cron 2 giorni fa per qualche motivo)