0
我试图安排一次游戏服务器重新启动和vps重新启动。我做了3项的cron(屏幕终止,VPS重启,游戏服务器开始)的root用户USER1crontab在运行脚本之前需要用户登录一次
29 6 * * * sleep 48; screen -S cs1 -X quit
31 6 * * * cd /home/user1/steamcmd/hlds; ./cs1.sh
cs1.sh
screen -dmS cs1 ./hlds_run -game cstrike -pingboost 2 +map de-dust +maxplayers 31 +port 27018
30 6 * * * /sbin/reboot
crontab条目
crontab条目
问题是user1
的第二个crontab项不工作,除非如果我在重新启动后和上午6:31之前登录(通过腻子)。有没有人可以在这里解释如何解决这个问题?
你可能无法运行屏幕创建一个新的屏幕会话,而不需要连接到你的shell。运行你的cron作业的shell不会有任何tty连接。 –
你是什么意思,我该如何解决? – user2832854
登录时,终端是所有程序都可以打印结果的地方。您的终端连接到所有这些程序。当cron作业开始时,cron作业可以打印结果的终端不存在,因此只能运行程序作为不需要终端的cron作业。 GNU屏幕显然需要一个终端,所以要修复它,你必须重写GNU屏幕的代码。所以,很可能,这是你无法轻松解决的问题。 –