Введение
Задание cron — это задача, которая запускается через определенные промежутки времени. Задачи могут быть запланированы для запуска по минутам, часам, дням месяца, месяцам, дням недели или любой их комбинации.
Задания Cron обычно используются для автоматизации обслуживания или администрирования системы, напримеррезервного копирования базы данных или данных, обновления системы с использованием последних исправлений безопасности, проверки использования дискового пространства, отправки электронных писем и т. д.
Запуск заданий cron каждые 5, 10 или 15 минут является одним из наиболее часто используемых расписаний cron.
Синтаксис и операторы Crontab
Crontab (таблица cron) — это текстовый файл, определяющий планирование заданий cron. Файлы Crontab можно создавать, просматривать, редактировать и удалять с помощью команды crontab
.
Каждая строка в файле crontab пользователя содержит шесть полей, разделенных пробелом, за которым следует команда для выполнения:
* * * * * command(s)
^ ^ ^ ^ ^
| | | | | allowed values
| | | | | -------
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
Первые пять полей (время и дата) также принимают следующие операторы:
*
- Оператор звездочки указывает все допустимые значения. Если у вас есть символ звездочки в поле минут, это означает, что задача будет выполняться каждую минуту.-
- Оператор тире позволяет указать диапазон значений. Если в поле День недели установить от 1 до1-5
, задача будет выполняться каждый день недели (с понедельника по пятницу). Диапазон является инклюзивным, что означает, что первое и последнее значения включены в диапазон.,
- Оператор запятая позволяет определить список значений для повторения. Например, если в поле «Время» указано1,3,5
, задача будет выполняться в 1:00, 3:00 и 5:00. Список может содержать одиночные значения и диапазоны,1-5,7,8,10-15
./
— Оператор косой черты позволяет указать значения шага, которые можно использовать совместно с диапазонами. Например, если у вас есть1-10/2
в поле Минуты, это означает, что действие будет выполняться каждые две минуты в диапазоне 1-10, как указано1,3,5,7,9
. Вместо диапазона значений вы также можете использовать оператор звездочки. Чтобы указать задание для запуска каждые 20 минут, вы можете использовать*/20
.
Синтаксис общесистемных файлов crontab немного отличается от синтаксиса пользовательских crontab. Содержит дополнительное обязательное пользовательское поле, указывающее, какой пользователь будет запускать задание cron.
* * * * * <username> command(s)
Чтобы отредактировать файл crontab или создать его, если он не существует, используйте команду crontab -e
.
Запускать задание Cron каждые 5 минут
Есть два способа запустить задание cron каждые пять минут.
Первый вариант — использовать оператор запятой для создания списка минут:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * command
Строка выше синтаксически верна и будет работать отлично. Однако ввод всего списка может быть утомительным и подверженным ошибкам.
Второй вариант указать задание, которое будет запускаться каждые 5 минут, — это использовать пошаговый оператор:
*/5 * * * * command
*/5
означает создание списка всех минут и запуск задания для каждого пятого значения из списка.
Запускать задание Cron каждые 10 минут
Чтобы запускать задание cron каждые 10 минут, добавьте следующую строку в файл crontab:
*/10 * * * * command
Запускать задание Cron каждые 15 минут
Чтобы запускать задание cron каждые 15 минут, добавьте следующую строку в файл crontab:
*/15 * * * * command
Вывод
Мы показали вам, как запускать команду cron каждые 5, 10 или 15 минут. Для получения дополнительной информации о заданиях Cron прочитайте это руководство: Как планировать задания Cron с помощью Crontab в Linux.