Настройка расписания через SystemD

В этом случае нам необходимо выполнить 2 действия:

  1. Научиться запускать приложение через SystemD.
  2. Определить расписание для запуска приложения через SystemD.

Рассмотрим систему, состоящую из двух приложений:

  • Одно приложение постояно запущено и продуцирует записи в журнал.
  • Второе приложение архивирует старые записи и должно запускаться переодически.

В рамках контрольной мы настроили первое приложение. Настроим второе.

https://lms.crafted.su/unix-course/2018-2019/assets/2019-03-13-services.tgz

Настройка запуска приложения

  1. Как запустить приложение?

Данное приложение получает параметры через свои аргументы. Это приложение работает с файлами, созданными под учётной записью суперпользователя, поэтому оно тоже должно обладать такими правами:

sudo ./backing-service.rb -d /var/log/logging -b /var/backups/logging

Необходимо также создать каталог для хранения резервных копий.

  1. Необходимо описать конфигурационный файл для 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

Файлы служб можно скачать по ссылке