如何在重新启动时以特定用户身份启动 teampeak 服务器

如何在重新启动时以特定用户身份启动 teampeak 服务器

服务器上的Linux版本是Centos 7.0。

Teamspeak 服务器使用以下命令运行:

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

我的服务器没有 100% 正常运行时间。因此,我希望服务器程序能够使用非root用户自动启动。

答案1

找到了这个解决方案:

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

答案2

如果您根本不需要root特权来启动服务器,您可以使用类似的东西

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

以用户身份启动它<username>

该命令行必须放置在启动期间执行的文件中。

IIRC 有一个本地内容的文件,其名称有点99-local类似于/etc/init.d/.如果没有,您可以使用其他启动文件作为模板自己编写一个。要安排该文件在启动期间运行,请使用以下命令:

chkconfig --level 345 <your file name> on

<your file name>是相对于/etc/init.d/.

请注意,您应该指定sudo其完整路径(例如),以防止执行放置在搜索路径中某处/usr/bin/sudo的另一个版本的可能性,并且您应该解析in (如果从根目录执行,则为)。sudo../opt/.../opt/...

相关内容