我可以在没有cron或incron的Linux服务器上连续运行inotifywait

时间:2016-07-22 20:06:10

标签: linux shell cron inotifywait incron

我在服务器上为这个目录创建了一个git repo。我想拥有的是每当有文件进入目录时,git push会推送repo并提交。我尝试使用incrontab来执行脚本。但看起来我的服务器并不像incrontab,它每次都会崩溃。

我可以在终端上运行此inotifywait。但是一旦我关闭终端,它就会停止观看。那么,有没有办法可以在Linux服务器上连续运行inotifywait?

这是我的Inotifywait代码

while inotifywait -re modify,attrib,move,close_write,create,delete,delete_self /path/to/script.sh
    do
     cd /path/to/dir
     git pull
     git add .
     git commit -m 'updated'
     git push
     echo "done!"
    done

我真的只想使用inotify,没有cron的东西。我已经在cron和incron,incrontab上工作了很长时间。没有运气。

有人有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

如果控制终端关闭,子进程会获取信号 - 如果没有捕获 - 将按设计终止它们。

Hangup signal

如果您希望屏蔽子进程,可以使用nohup命令启动它。

nohup command

要在后台启动命令,请应用(使用大多数(如果不是全部的话))&最后。