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. Якщо ви використовуєте віддалений сервер, переконайтеся, що час на сервері налаштовано правильно.