Иногда, как системный администратор, вы можете захотеть управлять сторонней службой приложений, используя целевой модуль systemd.
Это позволяет нам использовать команду systemctl для запуска, остановки и просмотра статуса службы.
Кроме того, вы можете захотеть объединить несколько сторонних приложений в один системный целевой модуль для простоты администрирования.
В этом посте мы увидим такой пример, где мы будем управлять 4 прикладными службами, используя один целевой модуль systemd.
Это позволит нам выполнить четыре команды systemctl всего одним вызовом.
Например:
# systemctl app start
Настройка пользовательской целевой системы systemd
1. Создайте файл «Target Unit» в /etc/systemd/system.
Это должно выглядеть так:
# vi /etc/systemd/system/app.target [Unit] Description=App Service Unit # This collection of apps should be started at boot time. [Install] WantedBy=multi-user.target
2. Затем каждый экземпляр клиента должен включать «PartOf» в разделе [Unit], а также должен иметь раздел [Install], чтобы включение и отключение работали для конкретной службы:
# vi /etc/systemd/system/app1.service [Unit] Description= Instance of App Service PartOf=app.target [Service] Type=oneshot RemainAfterExit=yes ExecStart=/home/mark/bin/app-poc.sh start ExecStop=/home/mark/bin/app-poc.sh stop # When the service runs globally, make it run as a particular user for added security #User=myapp #Group=myapp # When systemctl enable is used, make this start when the App service starts [Install] WantedBy=app.target
3. Выполните приведенные ниже команды, чтобы перезагрузить systemd и активировать автоматический запуск новых целевых модулей после перезагрузки.
# systemctl daemon-reload # systemctl enable app.target # systemctl enable app1.service # systemctl enable app2.service