Я планирую некоторые задачи, используя crontab.
Что произойдет, если мой компьютер выключится или выключится в то время, когда cron должен был что-то сделать?
Выполняется ли каждое пропущенное задание cron после включения компьютера или пропущенные задания на этот день игнорируются? Если пропущенные задания не возобновляются, есть ли способ настроить cron так, чтобы он запускал пропущенные задания после включения компьютера?
Ответы:
Когда ваш компьютер выключен (или демон cron не работает), задания cron не будут запущены.
Если у вас есть задания, которые вы хотели бы запускать по факту в те моменты, когда компьютер выключен, используйте anacron. Установлено по умолчанию, для получения дополнительной информации смотрите man anacron, man anacrontab или файл / etc / anacrontab.
Ubuntu по умолчанию использует anacron для записей в crontab:
оставляя оставшиеся crontabs для обработки главным демоном cron, а именно:
ПРИМЕЧАНИЯ
Сам Anacron не работает как демон, но полагается на скрипты запуска системы и сам cron для запуска.
В окне Ubuntu 8.04, которое я смотрю, /etc/init.d/anacron запускается при загрузке и снова cron каждое утро в 07:30.
README по адресу /usr/share/doc/anacron/README.gz содержит немного больше информации, чем содержится в справочных страницах.
ПРИМЕРЫ
Для простых «ежедневных», «еженедельных», «ежемесячных» заданий поместите копию или символическую ссылку на скрипт в один из каталогов /etc/cron. enjdaily|weekly|monthly} выше. Anacron позаботится о том, чтобы запускать его ежедневно / еженедельно / ежемесячно, и если ваш компьютер выключается в тот день, когда обычно запускаются «еженедельные» сценарии, он запускает их при следующем включении компьютера.
В качестве другого примера, при условии, что у вас есть скрипт здесь: /usr/local/sbin/maint.sh
И вы хотите запускать его каждые три дня, стандартная запись в / etc / crontab будет выглядеть так:
Если ваш компьютер не был включен в 00:00 3-го числа месяца, задание не будет работать до 6-го числа.
Чтобы задание вместо этого выполнялось 4-го числа, когда компьютер выключен и «пропускает» запуск 3-го, вы должны использовать это в / etc / anacrontab (не забудьте удалить строку из / etc / crontab):
«Задержка» в «5» выше означает, что anacron будет ждать 5 минут, прежде чем запустит эту работу. Идея состоит в том, чтобы предотвратить запуск Anacron сразу во время загрузки.
источник
anacron
, установитеcronie-anacron
пакет.Это зависит от того, какой планировщик cron вы используете. Базовый демон cron не будет запускать задачи, которые были пропущены из-за простоя системы. Тем не менее, есть другие планировщики cron, специально разработанные для этой ситуации, которые сделают это для вас. Два наиболее распространенных примеров Anacron и Fcron .
источник
Задачи, запланированные при выключенном компьютере, не будут выполняться при включении компьютера
источник
Если вы завершаете работу во время выполнения заданий cron, система выключается, и задания cron останавливаются (или не запускаются).
Одна из альтернатив, которую вы можете проверить, - это анакрон.
источник
На самом деле зависит от cron deamon, которым вы управляете. Vixie-cron будет просто пропускать упущенные cronjobs. fcron будет запускать пропущенные кроны, как только сможет. IIRC также основан на vixie-cron, поэтому, если это то, что вы ищете, вы можете попробовать fcron.
источник