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

by itisgood

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

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

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

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

Как тогда вы должны создавать и редактировать задания cron?

С помощью команд crontab.

Crontab – это метод, который вы используете для создания, редактирования, установки, удаления и перечисления заданий cron.

Команда для создания и редактирования заданий cron такая же и простая.

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

$ crontab -e

Cron Синтаксис

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

A B C D E USERNAME /path/to/command arg1 arg2
или
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 обозначает воскресенье
  • USERNAME: замените это на ваше имя пользователя
  • /path/to/command – имя скрипта или команды, которую вы хотите запланировать

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

  • Звездочка (*): указывает все возможные значения для поля
  • Запятая (,): указывает список значений
  • Тире (-): указывает диапазон значений
  • Разделитель (/): задает значения шага значения в поле:

Теперь, когда вы знаете синтаксис и операторы 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

Список заданий cron.

# crontab -l
или
# crontab -u username -l

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

# crontab -r

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

# crontab -r -u username

Строки в Crontab

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

В Cron есть определенные строки, которые вы можете использовать для более быстрого создания команд:

  • @hourly: запускаться один раз в час, т.е. «0 * * * *»
  • @idnight: запускать раз в день, то есть «0 0 * * *»
  • @daily: так же, как полночь
  • @weekly: запускаться раз в неделю, то есть «0 0 * * 0»
  • @monthly: запускаться раз в месяц, т. е. «0 0 1 * *»
  • @annually: запускается один раз в год, то есть «0 0 1 1 *«
  • @yearly так же, как @annually
  • @reboot: запускать один раз при каждом запуске

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

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

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

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

 

You may also like

Leave a Comment