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.sh
2. Відправка пінгу раз на 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/syslog
Last updated