Cron - утиліта для планування завдань в операційній системі Linux. Вона дає змогу запускати скрипти або команди автоматично в певний час, з певною періодичністю або за певних подій.
Для використання Cron необхідно створити файл crontab
, який містить список завдань і тимчасові інтервали, коли вони мають виконуватися. Кожне завдання в crontab являє собою рядок, який складається з п'яти полів, розділених пробілами:
* * * * * command_to_execute
- - - - -
| | | | |
| | | | +----- day of the week (0 - 6) (Sunday = 0 or 7)
| | | +------- month (1 - 12)
| | +--------- day of the month (1 - 31)
| +----------- hour (0 - 23)
+------------- minutes (0 - 59)
Знак *
означає будь-яке значення, наприклад, якщо поле хвилини містить *
, то завдання буде виконуватися кожну хвилину. Якщо ви хочете задати конкретне значення для поля, наприклад, щодня о 3 годині ранку, то потрібно написати 0 3 * * * *
.
Щоб створити або змінити файл crontab, використовуйте команду crontab -e. Кожен користувач може мати свій власний файл crontab, а також системний файл /etc/crontab
, який містить завдання, що запускаються від імені користувача root.
Існує команда cronjob
, яка дає змогу запускати завдання всередині контейнерів Docker. Вона працює аналогічно crontab
, але завдання можуть бути запущені всередині контейнера замість хост-системи.
Щоб почати використовувати Cron у Linux, дотримуйтесь цих кроків:
1. відкрийте термінал і введіть команду crontab -e
. Це відкриє файл crontab для поточного користувача.
2. Додайте завдання у файл crontab відповідно до формату полів, описаного вище. Наприклад, якщо ви хочете запустити скрипт every_hour.sh
щогодини, додайте рядок 0 * * * * * /path/to/every_hour.sh.
3. Збережіть зміни та закрийте файл.
4. Перевірте, що завдання додано в crontab, використовуючи команду crontab -l
. Вона виведе список усіх завдань, доданих у crontab
.
5. Переконайтеся, що завдання виконується відповідно до розкладу, використовуючи команду tail -f /var/log/syslog
. Ви побачите висновок, пов'язаний із виконанням завдання.
6. Якщо ви хочете видалити завдання з crontab
, використовуйте команду crontab -r
.
Слід враховувати деякі важливі моменти:
crontab
можна додавати як скрипти, так і команди. Але якщо ви хочете виконати скрипт, переконайтеся, що в нього є права на виконання(chmod +x /path/to/script.sh
).sudo crontab -e
, щоб відкрити файл crontab
для користувача root.Зверніть увагу, що час, зазначений у crontab
, відповідатиме часу на сервері, на якому запущено Cron. Якщо ви використовуєте віддалений сервер, переконайтеся, що час на сервері налаштовано правильно.