Recientemente moví mi servidor de una máquina virtual a una máquina nueva.
Desde entonces, a veces tengo el evento inexplicable de que mi servidor Teamspeak se detiene (y se reinicia automáticamente porque así lo configuré) al cerrar la última sesión abierta de sftp/ssh que inició sesión como el usuario en el que se ejecuta el servicio.
Básicamente, mi Linux envía una señal de interrupción a mi servidor TS3 cuando cierra la última conexión ssh abierta. Aquí el registro de journalctl cuando falla:
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.
Utilizo la siguiente configuración 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
¿Algunas ideas? No puedo explicarlo..
Respuesta1
Probablemente tenga que ver con persistir como se describeaquí.
Solución:
sudo loginctl enable-linger <username>