我可以 运行 inotifywait 在没有 cron 或 incron 的 Linux 服务器上持续不断吗

Can I run inotifywait continually on a Linux Server without cron or incron

我在服务器上为此目录创建了一个 git 存储库。我想要的是每当有文件移入目录时,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 上工作了很长时间。运气不好。

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

如果控制终端关闭,子进程会收到信号 - 如果未被捕获 - 通过设计终止它们。

Hangup signal

如果你想让一个子进程不受此影响,你可以通过 nohup 命令启动它保护。

nohup command

要在后台启动一个命令,您在最后应用(如果不是所有 shell,也是大多数)&。