Поиск по сайту:

Как создавать задания Cron и управлять ими в Linux


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

Задания Cron выполняются в фоновом режиме и постоянно проверяют файл /etc/crontab, а также файлы /etc/cron.*/ и /var/spool/cron/. каталоги. Файлы cron не подлежат редактированию напрямую, и у каждого пользователя есть уникальная таблица crontab.

Как же тогда создавать и редактировать задания cron? С помощью команд crontab. crontab — это метод, который вы используете для создания, редактирования, установки, удаления и составления списка заданий cron.

Команда создания и редактирования заданий cron одинакова и проста. И что еще круче, вам не нужно перезапускать cron после создания новых файлов или редактирования существующих.


crontab -e

Синтаксис Крон

Как и в случае с любым другим языком, работать с cron становится намного проще, если вы понимаете его синтаксис и вам следует знать два формата:


A B C D E USERNAME /path/to/command arg1 arg2
OR
A B C D E USERNAME /root/backup.sh

Объяснение приведенного выше синтаксиса cron:

  • A: Минуты. Диапазон: 0–59.
  • B: Диапазон часов: 0–23
  • C: Дни. Диапазон: 0–31.
  • D: Месяцы. Диапазон: 0–12.
  • E: дни недели. Диапазон: 0–7. Начиная с понедельника, 0 или 7 представляют воскресенье.
  • ИМЯ ПОЛЬЗОВАТЕЛЯ: замените это на свое имя пользователя.
  • /path/to/command – имя сценария или команды, которую вы хотите запланировать.

Это не все. Cron использует 3 символа оператора, которые позволяют указать несколько значений в поле:

  1. Asterisk (*): указывает все возможные значения для поля.
  2. Запятая (,): указывает список значений.
  3. Дефис (-): указывает диапазон значений.
  4. Разделитель (/): указывает значение шага.

Теперь, когда вы знаете синтаксис и операторы Cron, давайте посмотрим несколько примеров cron.

Примеры заданий Cron

Первым шагом к запуску команд cron является установка crontab с помощью команды:


crontab -e

Запускайте /root/backup.sh в 3 часа ночи каждый день:


0 3 * * * /root/backup.sh

Запускайте script.sh в 16:30 второго числа каждого месяца:

30 16 2 * * /path/to/script.sh

Запускайте /scripts/phpscript.php в 22:00 в течение недели:

0 22 * * 1-5 /scripts/phpscript.php

Запускайте perlscript.pl в 23 минуты после полуночи, в 2 и 4 часа ночи каждый день:

23 0-23/2 * * * /path/to/perlscript.pl

Запускайте команду Linux в 04:05 каждое воскресенье:

5 4 * * sun /path/to/linuxcommand

Параметры Крон

Перечислите задания cron.


crontab -l
OR
crontab -u username -l

Удалите все задания crontab.

crontab -r

Удалить задание Cron для конкретного пользователя.


crontab -r -u username

Строки в Crontab

Строки — одна из любимых вещей разработчиков, поскольку они помогают экономить время, устраняя повторяющееся написание. В Cron есть специальные строки, которые можно использовать для более быстрого создания команд:

  1. @hourly: запуск один раз в час, т. е. «0 * * * *».
  2. @midnight: запускается один раз в день, т. е. «0 0 * * *».
  3. @daily: то же, что и в полночь
  4. @weekly: запускается один раз в неделю, т. е. «0 0 * * 0».
  5. @monthly: запускается один раз в месяц, т. е. «0 0 1 * *».
  6. @annually: запускается один раз в год, т. е. «0 0 1 1 *».
  7. @yearly: то же, что @annually
  8. @reboot: запускать один раз при каждом запуске.

Например, вот как делать резервную копию вашей системы каждый день:

@daily /path/to/backup/script.sh

На данный момент у вас есть все необходимое для создания системных задач и управления ими с помощью Cron. Теперь вы можете приступить к настройке и обслуживанию нескольких сред с помощью запланированных команд.

Насколько вы являетесь пользователем Cron? Есть ли какие-либо подробности, которые вы можете добавить в статью? Панель обсуждения находится ниже.

Когда вы достаточно разберетесь в том, как работает Crontab, вы сможете использовать эти изящные утилиты-генераторы Crontab для бесплатного создания строк crontab.

Также вы можете прочитать статью Ubuntu о том, как использовать Cron, здесь. Здесь есть ресурсы, которые могут оказаться вам полезными.