У випадку з Linux він постачається з двома основними, але потужними інструментами: демон Cron (планувальник завдань за замовчуванням) та at (більше підходить для одноразового планування завдань).
У цьому посібнику перевірте, як запланувати завдання в Linux.
Плануйте завдання в Linux
Крон
Демон cron відповідає за виконання багатьох завдань у певний час. Зазвичай ці завдання виконуються у фоновому режимі за розкладом. Він пропонує велику гнучкість незалежно від завдання, незалежно від інтервалу (години, тижня, місяця, року чи чогось іншого).
Cron відстежує свої дії, використовуючи файл crontab. Файл crontab - це сценарій, який містить всю необхідну інформацію для запуску всіх завдань cron.
Давайте швидко розглянемо деякі основні способи використання cron. У випадку будь-якої з наступних команд, вона буде налаштована для кореневого користувача, якщо вона запускається з привілеєм sudo. Для демонстрації я взяв зразк файлу crontab звідси.
Щоб перерахувати всі заплановані завдання cron для поточного користувача, виконайте таку команду. Він надрукує весь вміст файлу crontab.
$ crontab -l
Хочете список завдань cron для іншого користувача? Замість цього виконайте цю команду.
Щоб відредагувати сценарій crontab, запустіть команду. Щоб відредагувати файл crontab для root, запустіть наступну команду із привілеєм sudo.
Кожен рядок сценарію crontab визначає завдання. Ось короткий розподіл записів crontab.
Ось список усіх можливих значень для всіх цих полів. Якщо замість числового значення використовується зірочка (*), буде використано всі можливі значення поля.
- хвилина: від 0 до 59
- годин: від 0 до 23
- день місяця: від 1 до 31
- місяць: від 1 до 12
- день тижня: від 0 (неділя) до 6 (субота)
Щоб отримати поглиблене керівництво щодо використання crontab для автоматизації завдань, перегляньте, як налаштувати завдання cron у Linux. Ось ще один швидкий приклад роботи cron, яка запускається щохвилини.
в
Незважаючи на те, що cron є основним способом планування завдань, на сайті надається можливість запускати команду / сценарій у визначений час або з фіксованим інтервалом, зверніть увагу, що at буде запускати цільове завдання один раз, тоді як cron повторно запускатиме роботу з інтервалом. Інструмент at менш популярний у порівнянні з cron, але він порівняно простіший у використанні. Ви можете використовувати певні ключові слова, такі як опівночі чи чаї (4 с.М.).
Цей інструмент не встановлюється попередньо в більшості дистрибутивів Linux. Щоб встановити на, запустіть відповідну команду відповідно до дистрибутива.
Для Debian / Ubuntu та похідних.
$ Sudo apt install -y на
Для CentOS / RHEL та похідних.
Для Arch Linux та похідних.
$ sudo Pacman -S наДля Fedora та похідних.
$ sudo dnf встановити наПісля завершення встановлення увімкніть демон.
$ sudo systemctl enable --now atd.обслуговування
Спосіб роботи трохи інший. Кожного разу, коли телефонуєш, ти повинен визначати інтервал виконання бажаного завдання. Наприклад, щоб запустити певну команду через годину, використовуйте таку команду.
Щоб виконати бажане завдання при 6 P.М., через шість днів виконайте натомість таку команду.
Коли ви запускаєте команду, за бажанням попросіть виконати команду (команди). Щоб вийти з підказки, натисніть “Ctrl + d.”Надалі буде представлений короткий опис запланованих завдань і час їх виконання.
Це лише базове використання. Більш послідовним способом використання at може бути виконання скрипта bash, що містить усі завдання, які потрібно виконати. Зацікавлені в тому, щоб дізнатись більше про сценарії bash? Перевірте
$ о 18:00 + 6 днів -ff