Создание переодических заданий через cron в Linux
Cron — приложение для периодического запуска заданий в операционной системе.
Для проверки того, что сейчас работает демон cron запустите команду
systemctl status cron.service
Автоматические задания размешаются в файлах в формате crontab
в каталоге /var/spool/cron/crontab
. Для каждого пользователя создаётся отдельный файл название которого совпадает с именем пользователя. Добавлять и редактировать эти файлы нужно через специальное приложение crontab
.
crontaЬ -l
— посмотреть файл текущего пользователяcrontab -e
— добавить или изменить файл текущего пользователяcrontab -r
— удалить файл текущего пользователя
Параметр crontab -u username
позволяет выполнить те же команды для других пользователей.
В файле crontab
каждая строка означает отдельное задание. Сначала идет период с которым должно выполняться задание, а потом команда. Период состои из 5 цифр:
- Минута
- Час
- День месяца
- Месяца
- Порядковые номер недели
Если вместо цифры стоит символ *
то это означает любой из возможных вариантов. Таким образом самый частый период который можно установить — каждую минуту будет выглядеть так: * * * * *
.
Пример команды:
* * * * * echo 'text' >> /home/user/cron-result.txt
Для систем использующих systemd логи cron можно посмотреть командой
sudo journalctl -S today -u cron
Ссылки
- crontab.guruopen in new window — разъясняет время в формате crontab.