Debian. Шпаргалка сисадмина. Планировщик задач

www.debian.org
www.debian.org

Автоматизация рутинных задач — ключ к спокойствию системного администратора, да и к тому же более эффективное использование рабочего времени. Рассмотрение в этом контексте возможностей и нюансов использования планировщиков задач в Debian является вполне закономерным. В этой статье — следующей из серии «Шпаркалка сисадмина» — будут рассмотрены планировщик cron и асинхронный планировщик anacron.

cron — демон, основная задача которого — выполнение запланированных задач.

crontab — программа, используемая для поддержки (создания, удаления, модификации) файлов crontab (располагаются в /var/spool/cron/crontabs) индивидуально для каждого пользователя системы.

anacron — асинхронный (анахроничный) cron; является аналогом cron, только задания выполняет не по расписанию, а через заданные интервалы времени.

Теперь обо всем подробнее.

Cron 1 запускается процессом init из /etc/init.d во время загрузки системы. Основной конфигурационный файл — /etc/crontab. Каждую минуту сron просматривает содержимое каталога /var/spool/cron/crontabs на предмет файлов crontab и если находит их (или обнаруживает, что изменилось время модификации существующих файлов), то загружает (или обновляет, в случае с изменением существующих файлов) их в оперативную память. Эта особенность работы позволяет обойти необходимость перезапуска демона при изменении запланированных задач. Изменять файлы в каталоге /var/spool/cron/crontabs вручную не рекомендуется, для этого используется команда crontab -e.

Каждую минуту cron проверяет все файлы crontab на предмет команд, которые необходимо выполнить в данный момент. После выполнения команды может быть отправлено уведомление по почте владельцу файла crontab (или пользователю, адрес которого определен в переменной MAILTO в /etc/crontab, если он вообще определен).

Также существует заранее определенное поведение планировщика при изменении времени (например переход на летнее и зимнее время) 2:

Локальные изменения времени меньше чем на 3 часа (например, переход на летнее или зимнее время) обрабатываются специальным образом. Это относится только к задачам, которые запускаются в определенное время или периодом более одного часа. Задачи, которые выполняются чаще, исполняются как обычно.

Если время было переведено вперед, задачи, которые должны были быть выполнены в течение пропущенного интервала, будут запущены немедленно. И наоборот, если время было переведено назад, принимаются меры для предотвращения запуска задачи дважды.

Изменения времени более чем на 3 часа считается коррекцией времени или временной зоны, и новое время начинает использоваться немедленно.

Применительно к Debian существует ряд различий: файлы crontab предварительно разделены на несколько каталогов в зависимости от необходимой частоты выполнения (/etc/cron.hourly — ежечасно, /etc/cron.daily — ежедневно, /etc/cron.weekly — еженедельно, /etc/cron.monthly — ежемесячно). Выполнение заданий в этих каталогах отключено, если установлен anacron (кроме ежечасного задания), чтобы предотвратить конфликты между демонами. Файлы в этих директориях должны удовлетворять ряду требований 3. Помимо каталогов упомянутых выше, в Debian можно использовать каталог /etc/cron.d, в который также можно поместить файлы с необходимыми командами и которые имеют какое-либо нестандартное расписание выполнения. Требования для файлов в каталогах идентичны.

Теперь подробнее о формате команд.

Каждая команда cron имеет следующую маску:

cron 01

Допустимо указание нескольких значений через запятую или диапазон значений через тире. При необходимости можно указать шаг значений через слэш («/») — это можно сделать как с использованием чисел (2/3), так и с использованием звездочки (*/2). Если какое-либо из полей не используется, вместо него должна быть звездочка. Если будут указаны только звездочки и не определен ни один из временных параметров, то задание будет выполняться каждую минуту.

Anacron 4 работает несколько иным образом.

Стоить сразу отметить, что anacron по умолчанию не поставляется с дистрибутивом debian, придется его ставить отдельно.

Принципиальное отличие anacron в том, что он рассчитан на асинхронное выполнение команд. Это значит, что даже если сервер был выключен и в этот период должно было выполниться задание, оно обязательно выполнится сразу как сервер окажется включенным. Cron такой функционал предоставить не может и задания выполнены не будут, если в ожидаемое время их выполнения компьютер был выключен.

Формат команд имеет следующий вид:

anacron 01

Anacron предназначен не для замены, но для дополнения cron. Минимальный период выполнения команд — 1 день. При выполнении задачи создается специальный файл в каталоге /var/spool/anacron/ с отметкой времени и при следующей проверке anacron определяет когда последний раз запускалось задание и если время последнего выполнения отличается от текущего больше чем на количество дней, которое определено в команде anacron, то выполняется принудительный запуск задачи с определенной задержкой. Задержка используется главным образом для исключения ситуации одновременного выполнения ресурсоемких задач.

На этом обзор планировщиков закончен. Примеры 5 6 команд широко доступны на различных ресурсах в сети и их публикация в рамках этой статьи будет излишней.

Notes:

  1. Cron
  2. cron
  3. be executable, be owned by root, not be writable by group or other and, if symlinks, point to files owned by root. Additionally, the file names must conform to the filename requirements of run-parts: they must be entirely made up of letters, digits and can only contain the special signs underscores (‘_’) and hyphens (‘-‘). Any file that does not conform to these requirements will not be executed by run-parts. For example, any file containing dots will be ignored. This is done to prevent cron from running any of the files that are left by the Debian package management system when handling files in /etc/cron.d/ as configuration files (i.e. files ending in .dpkg-dist, .dpkg-orig, and .dpkg-new).
  4. Anacron
  5. Использование планировщика cron в Linux
  6. ПЛАНИРОВАНИЕ РУТИННЫХ ЗАДАЧ LINUX ПРИ ПОМОЩИ CRON И ANACRON
comments powered by HyperComments
3shareware
2022-06-18 19:59:31
<strong>2solomon</strong>
proposal and dissertation help 2000 words
2022-07-05 16:00:23
<strong>how to write a dissertation proposal https://professionaldissertationwriting.org/</strong>
custom dissertation writing services
2022-07-05 18:10:32
<strong>tips for dissertation writing https://professionaldissertationwriting.com/</strong>
psychology dissertation
2022-07-05 19:38:12
<strong>dissertation help free https://helpwithdissertationwritinglondon.com/</strong>
medical dissertation writing services
2022-07-05 23:22:03
<strong>average dissertation length https://dissertationwritingcenter.com/</strong>
buy a dissertation
2022-07-06 05:25:17
<strong>dissertation write up https://accountingdissertationhelp.com/</strong>
what is a dissertation paper
2022-07-06 06:08:08
<strong>sample dissertation https://examplesofdissertation.com/</strong>
uf thesis and dissertation
2022-07-06 09:38:29
<strong>psychology dissertation https://writing-a-dissertation.net/</strong>
edd dissertation topics
2022-07-06 11:08:39
<strong>dissertation writing grants https://bestdissertationwritingservice.net/</strong>
Яндекс.Метрика