Услуги Systemd для запущения скрипта при начальной загрузке под указанной учетной записью пользователя

Я очень плохо знаком с systemd, и я пытаюсь настроить немного сценария запуска для сервера Teamspeak, и я испытываю некоторые затруднения, заставляя его на самом деле запустить.

Некоторая информация:

  • Сервер Teamspeak работает под его собственной учетной записью пользователя, названной ts3.
  • Файлы сервера расположены в /home/teamspeak3-server/
  • В том каталоге сценарий оболочки, который позволяет Вам запускать/останавливать/перезапускать сервер (это прибывает связанное программным обеспечением). например. ts3server_startscript.sh start

Я создал новый сервис в /lib/systemd/system, вот его содержание:

[Unit]
Description=TeamSpeak 3 Server Startup Service
After=network.target

[Service]
Type=simple
User=ts3
ExecStart=/bin/bash /home/ts3/teamspeak3-server/ts3server_startscript.sh start

[Install]
WantedBy=multi-user.target

Когда я запускаю его:

$ systemctl start teamspeak3
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: bob,,, (bob)
Password:
==== AUTHENTICATION COMPLETE ===

Кажется, успешно выполняется, но сервер не запускает. Я попытался перезагрузить, на всякий случай это не исчерпывает из-за After=network.target.. но это все еще не хочет подходить.

Какая-либо идея, что я пропускаю здесь?

Править: Получил его работа, но забыл как.. добавление моего сценария Systemd здесь:

[Unit]
Description=TeamSpeak 3 Server Startup Service
Wants=network-online.target
After=network.target network-online.target

[Service]
Type=forking
User=ts3
ExecStart=/bin/sh /home/ts3/teamspeak3-server/ts3server_startscript.sh start
PIDFile=/home/ts3/teamspeak3-server/ts3server.pid

[Install]
WantedBy=multi-user.target
3
задан 28 October 2015 в 00:03

0 ответов

Другие вопросы по тегам:

Похожие вопросы: