我在 VPS 上运行 Ubuntu 15.04 Server。我想让我的朋友通过 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
;但这可能有点过度了。