Como iniciar o servidor TeamSpeak na reinicialização como usuário específico

Como iniciar o servidor TeamSpeak na reinicialização como usuário específico

A versão Linux no servidor é Centos 7.0.

O servidor Teamspeak é executado com este comando:

./opt/teamspeak3-server_linux-x86/ts3server_startscript.sh start

Meu servidor não tem 100% de uptime. Portanto, quero que o programa do servidor seja iniciado automaticamente usando um usuário não root.

Responder1

Encontrei esta solução:

crontab -e
i
@reboot /opt/teamspeak3-server_linux-x86/ts3server_startscript.sh restart
<esc>
:wq

Responder2

Se você não precisa de rootnenhum privilégio para iniciar o servidor, você pode usar algo como

sudo -u <username> ./opt/teamspeak3-server_linux-x86/ts3server_startscript.sh start

para iniciá-lo como usuário <username>.

Esta linha de comando deve ser colocada em um arquivo que é executado durante a inicialização.

IIRC existe um arquivo para coisas locais com um nome parecido 99-localcom /etc/init.d/. Caso contrário, você mesmo pode escrever um usando algum outro arquivo de inicialização como modelo. Para agendar a execução do arquivo durante a inicialização, use o seguinte comando:

chkconfig --level 345 <your file name> on

enquanto <your file name>é relativo a /etc/init.d/.

Observe que você deve especificar sudoseu caminho completo (por exemplo. /usr/bin/sudo) para evitar a possibilidade de executar outra versão sudocolocada em algum lugar no caminho de pesquisa e você deve resolver o .in ./opt/...(se executado a partir do diretório raiz, seria /opt/...).

informação relacionada