Создание переодических заданий через cron в Linux

Cron — приложение для периодического запуска заданий в операционной системе.

Для проверки того, что сейчас работает демон cron запустите команду

 systemctl status cron.service
1

Автоматические задания размешаются в файлах в формате crontab в каталоге /var/spool/cron/crontab. Для каждого пользователя создаётся отдельный файл название которого совпадает с именем пользователя. Добавлять и редактировать эти файлы нужно через специальное приложение crontab.

  • crontaЬ -l — посмотреть файл текущего пользователя
  • crontab -e — добавить или изменить файл текущего пользователя
  • crontab -r — удалить файл текущего пользователя

Параметр crontab -u username позволяет выполнить те же команды для других пользователей.

В файле crontab каждая строка означает отдельное задание. Сначала идет период с которым должно выполняться задание, а потом команда. Период состои из 5 цифр:

  • Минута
  • Час
  • День месяца
  • Месяца
  • Порядковые номер недели

Если вместо цифры стоит символ * то это означает любой из возможных вариантов. Таким образом самый частый период который можно установить — каждую минуту будет выглядеть так: * * * * *.

Пример команды:

* * * * * echo 'text' >> /home/user/cron-result.txt
1

Для систем использующих systemd логи cron можно посмотреть командой

sudo journalctl -S today -u cron
1

Ссылки

Последниее изменение: 12.11.2023, 11:40:16