Crontab в Linux: ПРИМЕРЫ планирования заданий

Что такое кронтаб?

Крон назван в честь греческого слова «Хронос», обозначающего время. Это системный процесс, который автоматически выполняет задачи по определенному расписанию. Это набор команд, которые используются для выполнения регулярных задач планирования. Crontab означает «таблица cron». Это позволяет использовать планировщик заданий, известный как cron, для выполнения задач.

Crontab — это также название программы, которая используется для редактирования этого расписания. Он управляется файлом crontab, файлом конфигурации, который указывает команды оболочки, которые необходимо запускать периодически по определенному расписанию.

Зачем использовать Cronjobs?

Вот причины использования Cronjobs в Linux:

  • Помогает ОС выполнять запланированное резервное копирование файлов журналов или базы данных.
  • Удалить старые файлы журналов
  • Archive и очистить таблицы базы данных
  • Отправьте любое уведомление по электронной почтеmail например, информационные бюллетени, срок действия пароля иmail
  • Регулярная очистка кэшированных данных
  • Crontab — идеальный вариант для автоматизации задач Unix.
  • Используется для автоматизации обслуживания системы.

Как использовать cron в Linux?

Система Linux В пакете есть полезный планировщик задач crontab. Crontab популярен, поскольку его можно запланировать для запуска автоматического процесса от имени пользователя root. Таким образом, наличие автоматизированного процесса, выполняемого от имени пользователя root, упрощает внесение изменений в систему. Вам просто нужно изменить задачу, а затем дождаться повторного запуска задачи.

Формат Кронтаба Linux

Crontab Linux имеет шесть полей. Первые пять полей определяют время и дату выполнения, а шестое поле используется для выполнения команды.

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

[Minute] [hour] 
[Day_of_the_Month] 
[Month_of_the_Year] 
[Day_of_the_Week] 
[command]

Формат Кронтаба Linux

  • Астрикс (*): Используйте для сопоставления
  • Определить диапазон: Позволяет определить диапазон с помощью дефиса, например, 1-10 или 30-40 или январь-март, пн-ср.
  • Определите несколько диапазонов: Позволяет вам определять различные диапазоны с командами, разделенными как апр-июнь, окт-декабрь.

Как добавить/изменить Crontab

Пользователь может редактировать свои задания в crontab с помощью follo.wing команда кронтаб:

$ crontab -u -e 

Приведенная выше команда откроет личную конфигурацию crontab вашей компьютерной системы, которую можно редактировать с помощью текстового редактора по умолчанию.

Нет необходимости перезапускать crontab, поскольку он автоматически подхватит ваши изменения при использовании follo.wing команда.

$ crontab -l

Чтобы удалить задачи crontab, используйте следующую команду:wing команда.

$ crontab -r

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

crontab -e

Команда для редактирования crontab другого пользователя

crontab -u username -e

Как составить список Crontab

Команда для просмотра записей crontab текущего пользователя

crontab -l

Команда для просмотра записей crontab конкретного пользователя:

crontab -u username -l

Важные примеры Crontab

Вот несколько важных примеров Crontab

Описание Command
Команда Cron для выполнения различных заданий по планированию.
Ниже приведена команда, выполняемая ежедневно в 7:5 и XNUMX:XNUMX.
0 7,17 * * * /scripts/script.sh
Команда запускать cron каждые 5 минут.
*/5* * * * *  /scripts/script.sh
Команда планировщика Cron поможет вам выполнять задачу каждый раз. Monday в 5 утра. Эта команда полезна для выполнения еженедельных задач, таких как очистка системы.
0 5 * * mon  /scripts/script.sh
Команда запускает ваш скрипт с интервалом в 3 минуты.
*/3 * * * * /scripts/monitor.sh
Команда для планирования выполнения cron в течение определенного месяца.
Эта команда для запуска задач выполняется в феврале, июне и сентябре. Иногда нам нужно запланировать задачу для выполнения выбранной ежемесячной задачи.
* * * feb,jun,sep *  /script/script.sh
Команда для выполнения в выбранные дни. В этом примере будет выполняться каждый Monday и среда в 5:XNUMX.
0 17 * * mon,wed  /script/script.sh
Эта команда позволяет cron выполняться в первую субботу каждого месяца.
0 2 * * sat  [ $(date +%d) -le 06 ] && /script/script.sh
Команда для запуска сценария с интервалом в 6 часов, чтобы его можно было настроить, как показано ниже.
0 */6 * * * /scripts/script.sh
Эта команда планирует выполнение задачи дважды Monday и вторник. Используйте следующееwing настройки, чтобы это сделать.
0 4,17 * * mon,tue /scripts/script.sh
Команда планирует выполнение cron каждые 15 секунд.
* * * * * /scripts/script.sh
* * * * *  sleep 15; /scripts/script.sh
Команда для планирования задач на ежегодной основе.
@yearly timestamp = «0 0 5 1 *». Это выполняет задачу на пятой минуте каждого года. Вы можете использовать его для отправки поздравлений с Новым годом.
@yearly /scripts/script.sh 
Командные задачи, которые необходимо выполнять ежемесячно.
Временная метка @monthly аналогична «0 0 1 * *». Это командное выражение позволяет выполнить задачу в первую минуту месяца.
@monthly /scripts/script.sh
Команда для выполнения нескольких задач с использованием одного cron.
* * * * * /scripts/script.sh; /scripts/scrit2.sh
Команда для планирования задач для выполнения на еженедельной основе.
Временная метка @weekly похожа на «0 0 4 * sun». Это используется для выполнения еженедельных задач, таких как очистка системы и т. д.
@weekly /bin/script.sh
Задание будет запланировано для выполнения ежедневно.
Временная метка @daily аналогична «0 2 * * *». Он выполняет задачу на второй минуте каждого дня.
@daily /scripts/script.sh
Позволяет задачам выполняться почасово.
Временная метка @hourly аналогична «0 * * * *». Эта команда выполняет задачу в первую минуту каждого часа.
@hourly /scripts/script.sh
Позволяет задачам выполняться при перезагрузке системы.
Выражение @reboot полезно для тех задач, которые система хочет запускать при запуске системы. Это полезно для автоматического запуска фоновых задач.
@reboot /scripts/script.sh

Резюме:

  • Крон назван в честь греческого слова «Хронос», обозначающего время.
  • Cronjobs помогает ОС выполнять запланированное резервное копирование файлов журналов или базы данных.
  • В системном пакете Linux есть полезный планировщик задач под названием crontab, который можно запланировать для запуска автоматического процесса от имени пользователя root.
  • Crontab Linux имеет шесть полей. Первые пять полей определяют время и дату выполнения, а шестое поле используется для выполнения команды.