文件监控能够配合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...