Настройка планировщика Cron в Linux

mrvtn

Постоянный участник
ДРУЗЬЯ ФОРУМА

mrvtn

Постоянный участник
ДРУЗЬЯ ФОРУМА
Регистрация
2 Июн 2018
Сообщения
116
Реакции
58
Репутация
0
В инструкции описано использование планировщика Cron с помощью утилиты Crontab в Linux.

Что это такое?

Cron - системный демон, используемый для выполнения задач (в фоновом режиме) в указанное время.


Crontab - команда, которая используется, для управления планировщиком Cron. Команда crontab создает файл crontab, содержащий команды и инструкции для запуска демона cron.

Конфигурационные файлы

Следующие файлы ограничивают доступ к планировщику (по умолчанию они не существуют):


  • /etc/cron.allow - если существует, пользователи указанные в этом файле имеют возможность запуска заданий планировщика;
  • /etc/cron.deny - если существует, пользователи указанные в этом файле НЕ имеют возможность запуска заданий планировщика.

Если cron.allow существует, только юзерам, перечисленным в нем, разрешено использовать cron, при этом файл cron.deny игнорируется. Если cron.allow не существует, юзерам, указанным в cron.deny, не разрешается использовать планировщик cron.


Формат записей в обоих файлах - одно имя пользователя в каждой строке. Пробелы не разрешены.


Файлы контроля доступа считываются каждый раз, когда пользователь пытается добавить или удалить задачу cron.

Параметры команды Crontab

crontab -e
Редактирование или создание файла расписания для текущего пользователяcrontab -lВывод содержимого расписания текущего пользователяcrontab -rУдаление файла расписания текущего пользователяcrontab -u userРабота с расписаниями конкретных пользователей. Доступно только суперпользователю<

Каждая запись в crontab состоит из шести полей, указываемых в следующем порядке:

minute(s) hour(s) day(s) month(s) weekday(s) command(s)
Поля разделяются пробелами или знаками табуляции. Первые пять представляют собой числовые значения, а шестое - это команда, которая будет выполняться. В следующей таблице кратко описывается каждое из полей:


Поле Диапазон значений Описание minute0-59 Минута запуска команды hour0-23 Час запуска day1-31 Число (день) запуска month1-12 Месяц запуска weekday0 - 6 День недели запуска (воскресенье = 0, понедельник = 1, вторник = 2 и т.д.) command
Последовательность команд для выполнения. Это могут быть команды, исполняемые файлы (например, скрипты) или комбинации файлов.

Примечание: значение первых пяти полей может быть либо * (звездочкой), что означает все допустимые значения, либо списком элементов, разделенных запятыми. Элемент является либо числовым, либо диапазоном чисел, обозначенным двумя значениями, разделенными тире (например, 10-12).

Примеры использования

Запуск скрипта каждый понедельник в 9:00 и 18:00 часов:

0 9,18 * * 1 /home/ivan/script.sh
Запуск скрипта каждый день в 0:30 и 12:30:

30 */12 * * * script.sh
Запуск команды каждый месяц 1 числа в 12:00:

0 12 1 * * command
Запуск скрипта в полночь с понедельника по пятницу:

0 0 * * 1-5 /home/ivan/script.sh
 
Сверху