anacron cron.weekly запускается только при входе в систему
У меня есть еженедельная работа cron, которая запускается каждую субботу утром в 00:01. Запись anacron.weekly в crontab настроена на работу по субботам в 00:01. Запись crontab:
1 0 * * 6 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
Anacrontab имеет еженедельную запись, настроенную как:
7 10 cron.weekly run-parts --report /etc/cron.weekly
Сценарий содержится в /etc/cron.weekly
каталог, принадлежащий root, с разрешениями на выполнение
Проблема в том, что задание не запускается, когда я НЕ вошел в систему как пользователь root, но как только я войду в систему как пользователь root, задание cron будет работать идеально (после 10-минутной задержки анакрона) и будет делать именно то, что должно делать.
Задание демонстрирует желаемое поведение при запуске, оно не будет запускаться до тех пор, пока не будет выполнено следующее еженедельное задание, но только после того, как я войду в систему. То есть, если я войду в пятницу вечером, оно не запустится. но если я войду в субботу вечером, он будет, а затем не будет работать до 00:01 следующей субботы.
Моя файловая система, ни мой домашний каталог зашифрованы. Задание принадлежит пользователю root и запускается только после входа в систему от имени пользователя root. После выполнения задания оно регистрируется в /var/log/syslog
и /var/spool/anacron/cron.weekly
В файле указана дата выполнения задания. Все файлы журнала, созданные заданием, созданы и показывают успешное завершение.
Я проверил, что сервер работает во время выполнения задания.
Есть идеи?
1 ответ
Убедитесь, что вы на самом деле работает anacron
регулярно, а не только при входе в систему как root. Строка, которую вы отправили из ваших тестов crontab, если anacron
является исполняемым, и если он не будет запускать ваши еженедельные сценарии по субботам в 00:01 утра - в частности, он не запускается anacron
даже если присутствует и исполняемый.
anacron
нужны регулярные возможности для запуска, и каждый раз будет проверять и запускать любые задачи, которые наступили. В моей системе (Arch, а не Ubuntu), cron
работает anacron
ежечасно через 0anacron
сценарий в /etc/cron.hourly
,