Планувальник
Вступ
Cron — це утиліта для планування завдань на Unix-подібних операційних системах. Вона дозволяє автоматизувати виконання команд чи скриптів у заданий час або за визначеним розкладом. В цій лекції ми розглянемо основи роботи з cron, його синтаксис, приклади використання та практичні поради.

Основи роботи з cron
1. Файл crontab
Файл crontab містить список завдань, які повинні виконуватись за розкладом. Кожен користувач має свій власний crontab-файл.
Щоб відредагувати crontab-файл вашого користувача, виконайте команду:
crontab -eЩоб переглянути поточний crontab для користувача, використовуйте:
crontab -lЩоб видалити crontab для користувача, виконайте:
crontab -r
2. Синтаксис crontab
Файл crontab складається з рядків, які представляють собою розклад і команду для виконання. Формат кожного рядка має вигляд:
* * * * * команда
Де кожна з п'яти зірочок відповідає конкретному параметру часу:
- Перша зірочка: хвилини (0-59)
- Друга зірочка: години (0-23)
- Третя зірочка: день місяця (1-31)
- Четверта зірочка: місяць (1-12)
- П’ята зірочка: день тижня (0-7, де 0 і 7 представляють неділю)
Декілька прикладів:
0 5 * * *- запускає завдання щодня о 5:00 ранку.*/15 * * * *- запускає завдання кожні 15 хвилин.0 0 1 * *- запускає завдання в перший день кожного місяця опівночі.
[!tip]
Якщо вам не дуже зручно запамятовувати порядок параметрів які треба писати, ви можете скористатися сервісом crontab.guru на якому ви зможете просто відлаготити вираз для формуваня розкладу запуску команди.
3. Коментарі у crontab
Ви можете додавати коментарі до вашого crontab-файлу, використовуючи символ # на початку рядка.
# Це коментар
4. Середовище виконання
Команди у crontab файлі виконуються у середовищі користувача, під яким вони були створені. Важливо пам'ятати про встановлення повних шляхів до команд та файлів.
Приклади використання
Запуск скрипту кожного дня опівночі:
0 0 * * * /home/username/scripts/backup.shВидалення тимчасових файлів кожного тижня в неділю о 3:30 ранку:
30 3 * * 0 /bin/rm -rf /tmp/*Відправлення звітів кожного першого дня місяця:
0 8 1 * * /home/username/scripts/send_report.sh
Корисні поради
Перевірка журналів: Для діагностики проблем використовуйте:
grep CRON /var/log/syslogНалаштування змінних середовища: Якщо ваші команди залежать від певних змінних середовища, додайте їх на початку crontab-файлу:
PATH=/usr/local/bin:/usr/bin:/binВідлагодження: Для зручності відлагодження переадресуйте вивід команд до файлу:
0 0 * * * /home/username/scripts/myscript.sh >> /home/username/logs/myscript.log 2>&1
Висновок
Cron — це потужний інструмент для автоматизації завдань у Unix-подібних системах. Знання його основ і правильне застосування допоможуть вам ефективніше управляти вашими щоденними завданнями та системною
Якщо вам не дуже зручно запамятовувати порядок параметрів які треба писати, ви можете скористатися сервісом