Єдиний надійний спосіб, який я знайшов - перевірити журнал.
cron
перевіряє /etc/crontab
кожну хвилину та реєструє повідомлення, вказуючи, що воно перезавантажило або виявило помилку.
Тож після редагування запустіть це:
sleep 60; grep crontab /var/log/syslog | tail
Або не чекати повну хвилину, а лише до наступної хвилини + 5 секунд:
sleep $(( 60 - $(date +%S) + 5 )) && grep cron /var/log/syslog | tail
Приклад виводу з помилкою:
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)
Хороший вихід:
Jan 9 19:19:01 r530a cron[107258]: (*system*) RELOAD (/etc/crontab)
Це на Debian 8. У інших системах cron може входити в інший файл.
(Я думав, що міг би уникнути полювання на потрібний файл журналу за допомогою systemd journalctl -u cron
, але це не показало мені цих записів журналу, і насправді я чомусь припинив журнал подій cron 2 дні тому)