Описание работыПример использованияФайл настроекСравнение cron и anacron
Окружение
Программа anacron, как и cron, используется для настройки команд на многократное или регулярное выполнение.
Cron — это служба, используемая для запуска запланированных задач. Cron хорошо подходит для запуска запланированных задач на машинах, которые будут работать непрерывно 24/7, таких как серверы. Причём, если в запланированное время компьютер будет выключен, задача выполнена не будет.
Anacron — асинхронный или анахроничный cron. Используется для периодического запуска команд с частотой, определенной в днях. Его работа несколько отличается от работы cron, предполагая, что машина не будет включена все время.
Anacron подходит для выполнения ежедневных, еженедельных и ежемесячных запланированных заданий на ноутбуках или ПК. Если используется anacron, можно быть уверенным, что при следующем включении компьютера или ноутбука запланированная задача обязательно будет выполнена.
Вы можете подробнее ознакомиться с настройкой anacron, просмотрев наши обучающие видео:
на RuTube — Планировщик задач в РЕД ОС. Anacron;
в Яндекс.Дзен — Планировщик задач в РЕД ОС. Anacron;
в VK Видео — Планировщик задач в РЕД ОС. Anacron.
На наших каналах вы также сможете найти много другой полезной информации.
В РЕД ОС есть man-страница с информацией по использованию и применению anacron, вызываемая командой:
man anacron
Утилита anacron, как и cron, имеет таблицу планирования. Задания anacron перечислены в файле /etc/anacrontab, их можно запланировать в следующем формате (комментарии внутри файла anacrontab должны начинаться с #):
#period delay job-identifier command
где:
period – это частота выполнения задания, указанная в днях или в виде: @daily, @weekly или @monthly для одного раза в день, неделю или месяц соответственно. Также можно использовать числа: 1 – ежедневно, 7 – еженедельно, 30 – ежемесячно и N – количество дней;
delay – это количество минут ожидания перед выполнением задания. Желательно для каждого задания указывать разное время, чтобы несколько заданий не запускались одновременно;
job-id – это отличительное имя для задания, записанное в файлах журнала. Это имя используется для создания файла контроля задания. Файл создаётся в папке /var/spool/anacron/ и содержит сведения, позволяющие программе anacron контролировать выполнение задания;
command – это команда или путь к сценарию оболочки, который будет выполнен.
Anacron использует не такие подробные параметры, как cron. Наименьший интервал, который существует в anacron – день. Это значит, что anacron нужно использовать как дополнение к cron, а не в качестве его замещения.
Anacron имеет следующий принцип работы — он проверяет, выполнено ли задание за указанный период в поле period. Если нет, anacron выполняет команду из поля command после ожидания определенного количества минут (delay).
После выполнения задания anacron записывает дату в файл метки времени в каталоге /var/spool/anacron с именем, указанным в поле id задания (имя файла метки времени).
Приведенный пример будет запускать скрипт /home/user/backup.sh каждый день:
#period delay job-identifier command @daily 10 example.daily /bin/bash /home/user/backup.sh
Если машина выключена, когда ожидается выполнение задания backup.sh, anacron запустит выполнение этого задания через 10 минут после следующего включения машины, не ожидая еще 7 дней.
В файле anacrontab, кроме запланированных заданий, также есть важные переменные, которые необходимо понимать:
cat /etc/anacrontab # /etc/anacrontab: configuration file for anacron # See anacron(8) and anacrontab(5) for details. SHELL=/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # the maximal random delay added to the base delay of the jobs RANDOM_DELAY=45 # the jobs will be started during the following hours only START_HOURS_RANGE=3-22 #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
Здесь:
RANDOM_DELAY — определяет максимальную случайную задержку в минутах, добавляемую к пользовательской задержке задания (по умолчанию 45 мин);
START_HOURS_RANGE — задает временной интервал, в течение которого будут запускаться задания (т.е. задания будут выполнятся только в течение следующих часов).
Cron
Anacron
является службой
не является службой
подходит для серверных машин
подходит для ПК и ноутбуков
позволяет запускать запланированные задания каждую минуту
позволяет запускать запланированные задания только на ежедневной основе
если машина выключена, запланированное задание не выполняется
если машина выключена, когда запланировано задание, anacron выполнит запланированное задание при следующем включении машины
может использоваться как локальными пользователями, так и суперпользователем root
может использоваться только суперпользователем root, если не указано иное (включено для обычных пользователей с конкретными настройками)
Основное различие между cron и anacron заключается в том, что cron эффективно работает на машинах, которые будут работать непрерывно, в то время как anacron предназначен для машин, которые будут отключены через день или неделю.
Дата последнего изменения: 09.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Нажимая «Отправить запрос», вы соглашаетесь с условиями обработки персональных данных.
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
На ваш почтовый адрес отправлено письмо с подтверждением подписки.