Crontab в Linux: ПРИКЛАДИ планування завдань

Що таке crontab?

Крон названий на честь грецького слова «Хронос», яке використовується для позначення часу. Це системний процес, який автоматично виконує завдання за певним розкладом. Це набір команд, які використовуються для виконання регулярних завдань планування. Crontab розшифровується як «cron table». Це дозволяє використовувати планувальник завдань, який відомий як cron для виконання завдань.

Crontab також називається програмою, яка використовується для редагування цього розкладу. Він керується файлом crontab, конфігураційним файлом, який вказує команди оболонки, які потрібно запускати періодично за певним розкладом.

Навіщо використовувати Cronjobs?

Ось причини використання Cronjobs у Linux:

  • Допомагає ОС робити заплановану резервну копію файлів журналу або бази даних.
  • Видаліть старі файли журналу
  • Archive і очищати таблиці бази даних
  • Надсилайте будь-які сповіщення електронною поштою, як-от інформаційні бюлетені, електронні листи про закінчення терміну дії пароля
  • Регулярне очищення кешованих даних
  • Crontab — ідеальний варіант для автоматизації завдань Unix.
  • Використовується для автоматизації обслуговування системи

Як використовувати cron в Linux?

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

Формат Linux Crontab

Crontab Linux має шість полів. Перші п'ять полів визначають час і дату виконання, а 6-е поле використовується для виконання команди.

Синтаксис Crontab:

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

Формат Linux Crontab

  • Астрики (*): Використовуйте для зіставлення
  • Визначити діапазон: Дозволяє визначити діапазон за допомогою дефіса, наприклад 1-10 або 30-40 або ян-мар, пн-ср.
  • Визначте кілька діапазонів: Дозволяє визначати різні діапазони за допомогою команд, розділених як квітень-червень, жовтень-грудень.

Як додати/змінити Crontab

Користувач може редагувати свої завдання crontab за допомогою такої команди crontab:

$ crontab -u -e 

Наведена вище команда відкриє особисту конфігурацію crontab вашої комп’ютерної системи, яку можна редагувати за допомогою текстового редактора за замовчуванням.

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

$ crontab -l

Щоб видалити завдання crontab, скористайтеся такою командою.

$ 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 год.
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 і вівторок. Для цього використовуйте наступні налаштування.
0 4,17 * * mon,tue /scripts/script.sh
Команда планує виконання cron через кожні 15 секунд.
* * * * * /scripts/script.sh
* * * * *  sleep 15; /scripts/script.sh
Команда планувати завдання на щорічній основі.
@річна позначка часу = до «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 * сонце». Це використовується для виконання щотижневих завдань, таких як очищення системи тощо.
@weekly /bin/script.sh
Завдання планується виконувати щодня.
@daily timestamp схожий на «0 2 * * *». Він виконує завдання на другій хвилині кожного дня.
@daily /scripts/script.sh
Дозволяє виконувати завдання щогодини.
@hourly timestamp схожий на «0 * * * *». Ця команда виконує завдання в першу хвилину кожної години.
@hourly /scripts/script.sh
Дозволяє виконувати завдання після перезавантаження системи.
Вираз @reboot корисний для тих завдань, які система хоче запустити під час запуску системи. Це корисно для автоматичного запуску фонових завдань.
@reboot /scripts/script.sh

Основна інформація:

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