Надеюсь, я правильно задаю этот вопрос. Я пытаюсь запустить все задания, которые настроены на моем сервере, с помощью 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.
-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, что ежемесячное задание в последний раз выполнялось более месяца назад, и он планирует его запуск сейчас или в ближайшее время.