创建文件时重新启动服务的 Upstart 脚本

创建文件时重新启动服务的 Upstart 脚本

我在 /etc/init 中创建了我自己的 upstart 脚本,我可以启动和停止它。

现在,我希望当文件(/etc/my-app/restart-requested.txt)存在(或者更好地说是被触碰)时重新启动该服务。

我对以前的 /etc/init.d/ 服务的解决方案是一个 cron-job,它定期检查重启文件,并在文件存在时调用重启。

upstart 有更好的解决方案吗?

答案1

6 年后,我发现 upstarts 保证首先进行处理stop on,然后start on

http://upstart.ubuntu.com/cookbook/#ordering-of-stop-start-operations

这意味着您可以使用

start on file FILE=/etc/my-app/restart-requested.txt EVENT=modify
stop on file FILE=/etc/my-app/restart-requested.txt EVENT=modify

可能您不再需要它了,但我遇到了同样的问题并发现了您的问题,所以也许将来有人也可以使用这个解决方案。

答案2

  1. 安装因克龙
  2. 投入/etc/my-app/restart-requested.txt IN_CLOSE_WRITE restart myservice/etc/incron.d/myservice

相关内容