
我在 VPS 上運行 Ubuntu 15.04 伺服器。我試圖讓我的朋友可以透過 FTP 更改遊戲伺服器的設定文件,然後在完成後執行 shell 腳本來終止伺服器,然後重新啟動它。謝謝!
答案1
上傳後運行腳本
pureftpd
提供pure-uploadscript
,您可以使用它來重新啟動遊戲進程:
描述
如果使用 Pure-FTPd 進行編譯
--with-uploadscript
(二進位發行版中預設),並且將-o
(或--uploadscript
) 傳遞到伺服器,/var/run/pure-ftpd.upload.pipe
則會建立一個名為的命名管道。您還會注意到一個名為 的重要文件/var/run/pure-ftpd.upload.lock
,用於鎖定。成功上傳後,檔案名稱將寫入管道。pure-uploadscript
讀取此管道以自動執行任何程式或腳本來處理新上傳的檔案。
(來自線上說明頁)
使用它來檢測遊戲設定檔中的更改(上傳/修改的檔案作為腳本的第一個參數傳遞$1
),如果更改,則重新啟動遊戲伺服器。
否則,您可以使用一些bash
腳本來cron
檢查mtime
配置文件,如果更改為更新的內容,則重新啟動伺服器。或者你可以得到真的很喜歡inotify
並通過類似的東西掛鉤inotify-tools
;但這可能有點過分了。