Категория:Cron

В Linux периодическим выполнением управляет демон cron. Он запускается на этапе начальной загрузки системы и выполняется в фоновом режиме до тех пор, пока система не будет выключена. Cron читает файлы конфигурации, содержащие списки команд и расписание их вызова. Команды обычно обрабатываются интерпретатором sh (системной консолью Linux), поэтому почти все команды, которые можно выполнять в консоли вручную, можно перепоручить демону cron.

Файлами конфигурации демона управляет команда crontab, поэтому их называют crontab-файлами. В системе существует множество crontab-фалов, однако мы будем вносить изменения в /etc/crontab. Обратите внимание, что в дистрибутивах CentOS и Fedora демон cron переименован в crond.

Каждая строка crontab-файла, не являющаяся комментарием содержит шесть или семь полей и представляет одну команду. Стандартная строка имеет вид:

минута час день месяц день_недели [имя_пользователя] команда

Поле имя_пользователя определяет пользователя, от имени которого будет выполняться команда. В полях минута час день месяц день_недели содержится информация о времени запуска команды. Описание данных полей приведено в таблице ниже:

Поле Описание Диапазон
минута Минута часа От 0 до 59
час Час дня От 0 до 23
день День месяца От 1 до 31
месяц Месяц года От 1 до 12
день_недели День недели От 0 до 6 (0 - воскресенье)

Каждое из полей может содержать:

  • звездочку, которая обозначает любую цифру;
  • целое число;
  • два разделенных дефисом целых числа, задающих диапазон значений;
  • целые числа или диапазоны, разделенные запятыми (время соответствует любому из значений).

Например, последовательность 0,3,6,9,12,15,18 можно записать как 0-18/3. Строка 45 10 * * 1-5 означает "В 10 часов 45 минут, с понедельника по пятницу".
(!) Никогда не ставьте звездочку в первое поле, иначе команда будет выполняться каждую минуту, что приведет к чрезмерной нагрузке на ВПС.

С полями день_недели и день связана двусмысленность, которую необходимо учитывать. День можно рассматривать как день недели, так и как число месяца. Если указаны оба поля, то дню необходимо соответствовать одному из этих условий, что бы пройти отбор и запустить выполнение задачи. К примеру, спецификация 0,30 * 13 * 5 означает "каждые полчаса по пятницам и каждые полчаса тринадцатого числа месяца", но не "каждые полчаса в пятницу 13-го".

Инструкции настройки cron для создания бекапов тем или иным способом Вы можете найти по ссылкам ниже.

Страницы в категории «Cron»

Эта категория содержит единственную страницу.