Recentemente, mudei meu servidor de uma máquina virtual para uma nova máquina.
Desde então, às vezes tenho o evento inexplicável de que meu servidor Teamspeak para (e reinicia automaticamente porque foi assim que o configurei) ao fechar a última sessão aberta de sftp / ssh que estava logado como o usuário em que o serviço é executado.
Então, basicamente, meu Linux envia um sinal de interrupção para meu servidor TS3 ao fechar a última conexão SSH aberta. Aqui está o log do journalctl ao travar:
Jun 30 10:48:03 ubuntu-server ts3server_startscript.sh[7505]: Starting the TeamSpeak 3 server
Jun 30 10:51:30 ubuntu-server systemd[1]: teamspeak.service: Control process exited, code=exited status=203
Jun 30 10:51:30 ubuntu-server systemd[1]: teamspeak.service: Unit entered failed state.
Jun 30 10:51:30 ubuntu-server systemd[1]: teamspeak.service: Failed with result 'exit-code'.
Jun 30 10:51:33 ubuntu-server systemd[1]: teamspeak.service: Service hold-off time over, scheduling restart.
Eu uso a seguinte configuração do SystemD:
[Unit]
Description=TeamSpeak 3 Server
After=network.target
[Service]
WorkingDirectory=/home/teamspeak/teamspeak3-server_linux_amd64/
User=teamspeak
Group=teamspeak
Type=forking
ExecStart=/home/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh start inifile=ts3server.ini
ExecStop=/home/teamspeak/teamspeak3-server_inux_amd64/ts3server_startscript.sh stop
PIDFile=/home/teamspeak/teamspeak3-server_linux_amd64/ts3server.pid
RestartSec=3
Restart=always
[Install]
WantedBy=multi-user.target
Alguma ideia? não consigo explicar..
Responder1
Provavelmente relacionado com persistência conforme descritoaqui.
Solução:
sudo loginctl enable-linger <username>