%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B1%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F%3F.png)
Я использую fedora20 и его cron по умолчанию. У меня есть скрипт задания cron, который усыпляет сервер в 10:30 утра с помощью rtcwake, и он просыпается в 12:30 дня. Если я запущу скрипт вручную в 9:40 утра, он также проснется в 12:30 дня. Если я запущу скрипт вручную в 9:40 утра, запустит ли он пропущенную задачу cron в 10:30 утра после пробуждения в 12:30 дня и сразу же перейдет в спящий режим (что заставит его проснуться в 3:30 дня)?
Похоже, это то, что происходит с моим сервером, и я хочу узнать, запускает ли cron пропущенное задание после пробуждения. Если да, есть ли способ изменить это поведение? Большое спасибо.
решение1
Fedora по умолчаниюхрони, который включает в себя функциональность, подобную anacron, для периодического запуска заданий, даже когда система выключена. Значение по умолчанию /etc/anacrontab
выглядит так:
#period in days delay in minutes job-identifier command
1 5 cron.daily nice run-parts /etc/cron.daily
7 25 cron.weekly nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly nice run-parts /etc/cron.monthly
... что означает, что по умолчанию любые скрипты, которые вы поместите в один из этих каталогов ( /etc/cron.[daily,weekly,monthly]
), будут выполняться даже если компьютер выключен. Однако, содержимое /etc/crontab
или /etc/cron.d
или пользовательских crontab-файлов не будет работать таким образом. Посмотрите, man anacrontab
как добавить новые записи, если существующие периодические расписания вам не подходят.
решение2
Не все cron
демоны обрабатывают случаи ненепрерывного аптайма. Один, который специально разработан для запуска "пропущенных" заданий, этоanacron
.