使用 incron 监视文件变动以及避免 incron 多次触发
此博客使用的是 incron 来监视 Dropbox 的文件变动,然后自动生成最新的页面。
incron 的基本使用
CentOS / Red Hat:
1 | sodo yum install -y incron |
debian:
1 | sodo apt-get install incron |
然后 su youruser
到想要执行脚本的用户,键入 incrontab -e
比如,我想监视 /home/www/blog
文件夹下的增删改移,并且一旦检测到就执行 runhexo.sh 的话,就输入:
1 | /home/www/blog IN_MODIFY,IN_CREATE,IN_DELETE,IN_MOVE /home/www/runhexo.sh |
保存退出。
之后执行 systemctl enable incrond && systemctl start incrond
开启 incron 的 deamon。
incron 的 log 默认在 /var/log/cron
。
然后,开启 incron 以及设置自动开启:
1 | service incrond start |
#incron 多次触发的避免
其实很简单,创建一个 lock file 就好,比如:
1 |
|
使用 incron 监视文件变动以及避免 incron 多次触发
https://robinxb.com/posts/2016/using-incron-and-avoid-trigger-multiple-times/