Запуск служб по расписанию
Настройка расписания через SystemD
В этом случае нам необходимо выполнить 2 действия:
- Научиться запускать приложение через SystemD.
- Определить расписание для запуска приложения через SystemD.
Рассмотрим систему, состоящую из двух приложений:
- Одно приложение постояно запущено и продуцирует записи в журнал.
- Второе приложение архивирует старые записи и должно запускаться переодически.
В рамках контрольной мы настроили первое приложение. Настроим второе.
https://lms.crafted.su/unix-course/2018-2019/assets/2019-03-13-services.tgz
Настройка запуска приложения
- Как запустить приложение?
Данное приложение получает параметры через свои аргументы. Это приложение работает с файлами, созданными под учётной записью суперпользователя, поэтому оно тоже должно обладать такими правами:
sudo ./backing-service.rb -d /var/log/logging -b /var/backups/logging
Необходимо также создать каталог для хранения резервных копий.
- Необходимо описать конфигурационный файл для SystemD.
Файл:
Далее необходимо заставить SystemD прочитать данный файл и проверить, что после запуска приложения через SystemD всё будет успешно работать.
sudo systemctl daemon-reload
sudo systemctl status backup-logging
Настройка расписания для запуска приложения
В SystemD есть подсистема, которая позволяет запускать различные службы по расписанию. Для определния расписания необходимо создать конфигурационный файл с расширением .timer
Рассмотрим документацию по созданию таких таймеров: systemd.timer
.
1/20 - в минутах, ему соответствуют: 1, 21, 41 5/3 в часах, ему соответстует: 5, 8, 11, 14, 17, 20, 23
Файлы служб можно скачать по ссылке