Как создавать и добавлять задания Cron в Linux

Планирование периодических задач с помощью Cron в Linux

cron - это программа Linux, которая используется для планирования выполнения команды или сценария в более поздний момент времени. Его также можно использовать для планирования периодически запускаемых команд и сценариев. Программы, запланированные с помощью cron, обычно называют Cron Jobs. Его основное использование - для задач системного администрирования, таких как регулярное резервное копирование, регулярные обновления программного обеспечения и другие подобные задачи обслуживания.

Введение

cron работает как демон в Linux, то есть как фоновый процесс. Он позволяет пользователям планировать задания напрямую с помощью команды crontab, которая открывает файл конфигурации под названием Cron File в редакторе. Для каждого пользователя создаются отдельные файлы Cron.

Создание файла Cron и базового синтаксиса

В crontab команда может быть выполнена с помощью -e флаг для редактирования существующего файла Cron. Если файл еще не существует, он будет создан. Если пользователь вызывает команду в первый раз и если в системе Linux установлено несколько редакторов файлов, команда попросит пользователя выбрать редактор по умолчанию из списка редакторов.

После выбора редактора для пользователя будет создан и открыт файл cron. Теперь вы можете указать задания в файле.

Общий синтаксис для указания задания Cron:

В основном будет работать в указанные минуты (0-59), час (0-23), день месяца (1-31), месяц (1-12), день недели, (0-7, Для воскресенья можно использовать 0 или 7) в задании Cron. Для упрощения возьмем пример:

1 2 3 4 5 эхо "Привет"

Это означает команду эхо "Привет" будет запускаться каждый пятый день недели (пятница) и каждый 3-й день месяца, каждый 4-й месяц года (апрель) во время 02:01 (2-й час первой минуты).

Если одну и ту же команду нужно запускать каждый день в 02:01, синтаксис будет выглядеть так:

1 2 * * * эхо «Привет»

В * означает «всегда» или «для всех», например. на все месяцы, на все дни недели и т. д.

Командный оператор (,) может использоваться для ввода списка значений, когда задача должна быть повторена. Например:

0 2,3,4 * * * эхо «Привет»

Программа будет запускаться ежедневно в 2, 3 и 4 часа ночи.

Так же, дефис (-) оператор может использоваться для указания диапазона, для которого задача должна повторяться. Например:

0-20 2 * * * эхо «Привет»

Это запустит программу в 02:00, 02:01, 02:02 и так далее до 02:20.

Наконец, у нас есть косая черта ( / ) оператор. Этот оператор используется для указания значения интервала, в соответствии с которым задача будет повторяться. Например. */15 в поле минут означает, что задание должно повторяться каждые 15 минут. 2-10/2 в поле часов указывает, что задача должна повторяться с 2:00 до 10:00 через каждые 2 часа (2:00, 4:00, 6:00, 8:00, 10:00).

* / 15 2-10 / 2 * * * эхо «Привет»

После того, как вы сделали запись в файле Cron, сохраните файл и выйдите из редактора.

Вы должны увидеть "Установка нового crontab" сообщение в терминале после сохранения и выхода из файла crontab.

Макросы

Некоторые макросы предопределены в Cron, которые определяют некоторые обычно требуемые временные интервалы, такие как каждый час, каждый день, каждый месяц и т. Д.

Чтобы запускать задачу один раз в день в начале дня, то есть в 00:00, используйте макрос @ежедневно. Это эквивалентно 0 0 * * *.

Вы можете поместить это в файл Cron таким же образом, как описано ранее.

Аналогичным образом можно использовать другие макросы, а именно. @hourly (0 минут каждого часа), @monthly (00:00 первого числа месяца), @weekly (00:00 первого дня недели, @yearly(00:00 первого января каждого года), @перезагружать (при каждом запуске компьютера).

Вывод

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

Категория: Linux