Mar*_*ign 22 boot script ubuntu
我正在使用 screen 在我的专用服务器上托管一些反恐精英游戏服务器。当我想启动/停止服务器时,我运行了这个脚本:
#! /bin/sh
# /etc/init.d/css-server
#
case "$1" in
start)
echo "Starting Nullus Imprimis war server..."
screen -A -m -d -S css-war-server /home/css-servers/war-server/css/srcds_run -game cstrike +map de_dust2 +maxplayers 16 -autoupdate -port 2555 -tick 100
echo "Nullus Imprimis war server started"
echo "Starting Nullus Imprimis pub server #1..."
screen -A -m -d -S css-pub-server-1 /home/css-servers/pub-server-1/css/srcds_run -game cstrike +map de_dust2 +maxplayers 32 -autoupdate -port 2666 -tickrate 100
echo "Nullus Imprimis pub server #1 started"
;;
stop)
echo "Stopping Nullus Imprimis war server..."
screen -S css-war-server -X quit
echo "Nullus Imprimis war server stopped"
echo "Stopping Nullus Imprimis pub server #1..."
screen -S css-pub-server-1 -X quit
echo "Nullus Imprimis pub server #1 stopped"
;;
*)
echo "Usage: /etc/init.d/css-servers {start|stop}"
exit 1
;;
esac
exit 0
Run Code Online (Sandbox Code Playgroud)
我将这个脚本(称为css-servers)放入/etc/init.d/其中,据我所知,这意味着它会在系统启动时运行。但是,当我使用检查活动屏幕时screen -ls,没有运行。
如何让这些在 Ubuntu Server 下启动时运行?
Mic*_*ton 42
仅仅有脚本/etc/init.d不足以让它在启动时运行。
要将其添加到您的启动中,您必须告诉 Ubuntu:
sudo update-rc.d css-servers defaults
Run Code Online (Sandbox Code Playgroud)
如果脚本格式正确,可执行位设置等,它应该在下次启动时启动。您从apt-get/Software Center安装的软件包会自动为您运行此命令或其等效命令,这就是您通常不必担心的原因关于它。
如果想立即启动,可以直接调用:
sudo service css-servers start
Run Code Online (Sandbox Code Playgroud)
Bil*_*hor 12
你已经完成了第一部分。 /etc/init.d是运行初始化脚本的地方。但是,它们不会自动运行。
它们按照/etc/rc*.d目录的符号链接指定的顺序运行。每个运行级别都有自己的目录。链接名称以 开头的脚本使用Kstop 参数运行,名称以 开头的脚本使用Sstart 参数运行。按照惯例,文件名以用于排序的两位数字开头K或S后跟,并以脚本名称结尾/etc/init.d。
链接可以手动创建,但通常使用脚本创建。通用脚本update-rc.d在 Ubuntu 上可用。该命令man update-rc.d将为您提供有关谁使用它的文档。在你的情况下尝试:
sudo update-rc.d css-servers defaults
Run Code Online (Sandbox Code Playgroud)
要使用 init 脚本启动它,请尝试:
sudo /etc/init.d/css-servers start
Run Code Online (Sandbox Code Playgroud)
我通常以这种方式启动和停止服务器,以确保脚本按需要工作。然后我运行update-rc.d将它添加到/etc/rc.d运行级别目录。
| 归档时间: |
|
| 查看次数: |
60061 次 |
| 最近记录: |