Автозапуск сервера TeamSpeak в Linux

Голосовой чат TeamSpeak v3
Ответить
ustim
Администратор
Сообщения: 130
Зарегистрирован: 03 июн 2021, 09:01
Откуда: Краснодар
Контактная информация:

Автозапуск сервера TeamSpeak в Linux

Сообщение ustim »

Сначала проверям, точно ли systemd выбран в качестве системы инициализации:

Код: Выделить всё

ps -p 1 -o comm=
systemd
если ответ будет init, то используется SysV (/etc/init.d/) и данный вариант не поможет.?

Плюсы:
- Сервер TS будет автоматически запускаться при старте системы и после поднятия сетевых интерфейсов. В комментарии прописан вариант, на связку TS с MariaDB.
- Сервер TS будет автоматически перезапущен через 15 секунд после его падения.
- Сервер конфигурируется через системную систему инициализации, что является самым правильным в настройке сервера.

Создаем файл юнита:

Код: Выделить всё

sudo nano /etc/systemd/system/ts3server.service

Код: Выделить всё

[Unit]
Description=TeamSpeak 3 Server
After=network.target
#After=mysql.service network.target
Wants=network-online.target

[Service]
Type=simple
Environment=LD_LIBRARY_PATH=/home/ts3/teamspeak3-server_linux_amd64
WorkingDirectory=/home/ts3/teamspeak3-server_linux_amd64
ExecStart=/home/ts3/teamspeak3-server_linux_amd64/ts3server_startscript.sh start
ExecStop=/home/ts3/teamspeak3-server_linux_amd64/ts3server_startscript.sh stop
ExecReload=/home/ts3/teamspeak3-server_linux_amd64/ts3server_startscript.sh restart
PIDFile=/home/ts3/teamspeak3-server_linux_amd64/ts3server.pid
StandardOutput=syslog
StandardError=syslog
User=ts3
Group=ts3
Restart=always
RestartSec=15

[Install]
WantedBy=multi-user.target
Назначаем права на файл юнита:

Код: Выделить всё

sudo chmod 644 /etc/systemd/system/ts3server.service
Обновляем кеш юнитов:

Код: Выделить всё

sudo systemctl daemon-reload
Проверяем что всё нормально:

Код: Выделить всё

sudo systemctl status ts3server.service
ts3server.service - TeamSpeak 3 Server
Loaded: loaded (/etc/systemd/system/ts3server.service; disabled)
Active: inactive (dead)
Включаем юнит:

Код: Выделить всё

sudo systemctl enable ts3server.service
Created symlink from /etc/systemd/system/multi-user.target.wants/ts3server.service to /etc/systemd/system/ts3server.service.
Запускаем сервер:

Код: Выделить всё

sudo systemctl start ts3server.service
Проверяем что запустился:

Код: Выделить всё

sudo systemctl status ts3server.service
ts3server.service - TeamSpeak 3 Server
Loaded: loaded (/etc/systemd/system/ts3server.service; enabled)
Active: active (running) since Sat 2017-03-11 00:56:49 MSK; 13s ago
Main PID: 800 (ts3server)
CGroup: /system.slice/ts3server.service
L-800 ./ts3server

Feb 31 00:00:00 debian systemd[1]: Starting TeamSpeak 3 Server...
Feb 31 00:00:00 debian systemd[1]: Started TeamSpeak 3 Server.
Feb 31 00:00:00 debian ts3server_startscript.sh[796]: Starting the TeamSpeak 3 server
Feb 31 00:00:00 debian ts3server_startscript.sh[796]: TeamSpeak 3 server started, for details please view the log file
Остановка сервера:

Код: Выделить всё

sudo systemctl stop ts3server.service
Перезапуск:

Код: Выделить всё

sudo systemctl restart ts3server.service
Ответить