如何在启动时自动运行此脚本



我的VPS上有一个游戏服务器,但是我有一个很大的问题。当它重新启动(由于技术原因或某些内容)时,游戏服务器不会自动启动。我使用此脚本,该脚本位于/home/steam/csgo-ds中:

#!/bin/sh
ln -s /home/steam/csgo-ds/csgo/*.dem /var/www/html/
ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
cd /home/steam/csgo-ds
chmod 777 * -R
screen -S "CS:GO Server" ./srcds_run -game csgo -usercon +game_type 0 +game_mode 0 -tickrate 64 -maxplayers 24 -maxplayers_override 24 +ip 188.116.46.148 -port 27015 +sv_setsteamaccount "XXXXX" -exec server.cfg +tv_enable 1 +tv_maxclients 0 +tv_port 27020 +tv_advertise_watchable 0 +map jb_dust2_final2

我尝试将其添加到crontab,启动文件等等,而没有任何效用。VPS上的操作系统是Ubuntu Server 64位14.04升级到16.04

chmod 744 /path/to/script

现在创建一个单元文件:

vim /etc/systemd/system/csgo.service
[Unit]
Wants=network-online.target
After=network-online.target
[Service]
ExecStart=/path/to/script
[Install]
WantedBy=default.target

设置权限:

chmod 664 /etc/systemd/system/csgo.service

重新加载并启用服务:

systemctl daemon-reload
systemctl enable csgo.service

现在重新启动并进行测试。

有不同的方法来做到这一点,最简单的方法是将代码的5行放入:

/etc/rc.local

它将在每个OS启动上自动执行您应该将代码行放在此行中:

exit 0

相关内容

  • 没有找到相关文章

最新更新