Назад | Перейти на главную страницу

Как проверить, выполняются ли мои задания cron?

Надеюсь, я правильно задаю этот вопрос. Я пытаюсь запустить все задания, которые настроены на моем сервере, с помощью nano /etc/crontab Я вижу список:

# m h dom mon dow user  command
27 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
58 15    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
0 15    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
20 15    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

Можно ли запустить crontab, чтобы запустить все эти задания, или заставить их запускаться?

Я пытаюсь подтвердить, что они действительно работают.

Если вы хотите проверить, выполняются ли они, используйте:

grep -i cron /var/log/syslog

Просто делайте то, что делает cron.

  • run-parts -v /etc/cron.daily
  • run-parts -v /etc/cron.weekly
  • и т.д

-v печатает имена скриптов перед их запуском

Если вы хотите просто проверить это cron работает, вы можете сделать следующее:

service cron status

Этот вопрос действительно о anacron, который запускает циклические задания cron.

Сначала убедитесь, что ваш anacrontab файл имеет допустимый синтаксис. Если ничего не видите, то ничего страшного:

/usr/sbin/anacron -T

Затем вы можете запустить все сценарии, которые будут выполняться ежечасно, ежедневно, еженедельно и ежемесячно. Это может быть много, так что загляните в /etc/cron.{hourly|daily|weekly|monthly} чтобы увидеть, что произойдет. Чтобы запустить их все:

sudo su -
cd / && run-parts --report /etc/cron.hourly
cd / && run-parts --report /etc/cron.daily
cd / && run-parts --report /etc/cron.weekly
cd / && run-parts --report /etc/cron.monthly

Наконец, посмотрите, правильно ли работает система расписания Anacron. Вы можете сделать это с помощью:

/usr/sbin/anacron -n -f cron.monthly

(-n означает Запустить работу сейчас, -f означает силу, игнорируя временные метки). Это будет запускать ежемесячные задания. Он будет работать в фоновом режиме, и вы получите электронное письмо, когда работа будет выполнена. Перед запуском задания будет случайная задержка, которая указана в столбце задержки в anacrontab.

Вы можете увидеть, что происходит, используя:

grep monthly /var/log/syslog

Вы также должны иметь возможность заставить anacron запускать любой из циклов, выполнив что-то вроде этого:

echo "20160101" | cat > /var/spool/anacron/cron.monthly
/usr/sbin/anacron cron.monthly

Это вводит очень старую дату в файл спула. Это сообщает anacron, что ежемесячное задание в последний раз выполнялось более месяца назад, и он планирует его запуск сейчас или в ближайшее время.