cron
cron — це служба в Ubuntu (і загалом у Unix-подібних системах), яка виконує команди або скрипти у фоновому режимі за розкладом, що задається у спеціальних файлах — crontab.
🔧 Основи cron
cronСлужба cron працює з декількома джерелами завдань:
Особисті таблиці завдань користувачів —
crontabдля кожного користувача (crontab -e).Системні файли — в каталогах
/etc/cron.*(cron.daily,cron.hourly, ...).Файли в
/etc/crontabі/etc/cron.d/— системні розклади, де можна вказувати користувача для виконання.
📜 Формат запису в crontab
crontab* * * * * команда
│ │ │ │ │
│ │ │ │ └─ день тижня (0-7) — 0 і 7 = неділя
│ │ │ └─── місяць (1-12)
│ │ └───── день місяця (1-31)
│ └─────── година (0-23)
└───────── хвилина (0-59)Наприклад:
30 2 * * * /usr/local/bin/backup.shВиконуватиме backup.sh щодня о 2:30 ночі.
📌 Перегляд та редагування crontab
crontabПереглянути завдання:
crontab -lРедагувати поточний crontab:
crontab:crontab -eПерший запуск може спитати, який редактор використовувати (зазвичай обирають nano або vim).
✅ Приклад завдань
1. Запуск скрипта щогодини:
0 * * * * /home/user/scripts/cleanup.sh2. Відправка пінгу раз на 5 хвилин:
*/5 * * * * ping -c 1 example.com > /dev/null📁 /etc/cron.* — інший підхід
/etc/cron.* — інший підхідМожеш просто покласти скрипт у відповідний каталог:
/etc/cron.hourly/— виконується щогодини/etc/cron.daily/— щодня/etc/cron.weekly/— щотижня/etc/cron.monthly/— щомісяця
Скрипт має бути виконуваним (
chmod +x) і мати shebang (#!/bin/bashна початку).
🧪 Перевірити роботу cron
Додай завдання з перенаправленням у лог:
* * * * * echo "Cron test $(date)" >> /tmp/cron.logЧерез кілька хвилин перевір:
tail /tmp/cron.log
🛠 Логи cron
cronУ Ubuntu 24.04 за замовчуванням логи можна дивитись тут:
journalctl -u cron.serviceАбо просто:
sudo grep CRON /var/log/syslogLast updated