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屏幕的代碼。所以,很可能,這是你無法輕鬆解決的問題。 –