文件监控能够配合rsync实现文件主动同步,例如监听某个目录,当文件变动时,应用rsync命令将变动的文件同步。(可用于代码主动公布)
实现文件主动同步,例如监听某个目录,当文件变动时,应用rsync命令将变动的文件同步。(可用于代码主动公布)。
inotify 是linux内核的一个个性,在内核 2.6.13 以上都能够应用。
如果在shell环境下,能够装置 yum install inotify-tools,装置当前有两个命令能够用inotifywait 和 inotifywatch,inotifywait 是须要应用的命令。
监听/usr/local/src 目录:
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M'--format '%T %w %f %e' -e modify,delete,create,attrib /usr/local/src
参数:
- -m 继续监听
- -r 应用递归模式监督目录
- -q 缩小冗余信息,只打印出须要的信息
- -e 指定要监督的事件,多个工夫应用逗号隔开
- --timefmt 工夫格局
- --format 监听到的文件变动的信息
- --timefmt 阐明:
- ymd别离示意年月日,H示意小时,M示意分钟
--format阐明:执行下面的命令之后,在监听的目录下创立一个1.txt文件,失去如下后果:
22/03/18 17:22 /usr/local/src/ 1.txt CREATE22/03/18 17:22 /usr/local/src/ 1.txt ATTRIB
这个脚本的性能是循环监听文件或目录的增删改事件,当事件产生执行设置的脚本文件。
#!/bin/sh # 监督的文件或目录 filename=$1 # 监督发现有增、删、改时执行的脚本 script=$2 inotifywait -mrq --format '%e' --event create,delete,modify $filename | while read event do case $event in MODIFY|CREATE|DELETE) bash $script ;; esac done
shell脚本后盾执行
nohup
应用nohup,其中test.sh为所执行的脚本,out.txt为输入信息的中央。
nohup sh test.sh>out.txt &
起源:https://www.cnblogs.com/youxi...