安装inotify
wget --no-check-certificate https://jaist.dl.sourceforge.net/project/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gz
tar -xf inotify-tools-3.13.tar.gz
cd inotify-tools-3.13/
./configure --prefix=/usr/local/inotify-tools
make && make install
将命令加入环境变量
sed -i '$a export PATH=$PATH:/usr/local/inotify-tools/bin/' /etc/profile
source /etc/profile
inotify和rsync的命令简述
inotify基本用法:
inotifywait [选项] 目标文件夹
常用命令选项:
-m:持续监控(捕获一个事件后不退出)
-r: 递归监控、包括子目录及文件
-q: 减少屏幕输出信息
-e:指定监视的modify、move、create、delete、attrib等事件类别(不加-e默认监控所有类别)
-qq:没有屏幕输出(静默模式)
案例:持续跟踪指定文件夹的变化
- 目标文件夹:/opt
- 当文档出现监视的事件时,会立即给出相应提示
[root@localhost ~]# inotifywait -mrq -e modify,create,delete /opt
rsync基本用法:
rsync [选项] 源文件夹 目标文件夹
常用命令选项:
-z: --compress 使用压缩机制
-v: --verbose 打印详细信息
-r: --recursive 以递归模式同步子目录
示例:
rsync -az TX 192.168.8.165:/home/rsynctest/
写一个while循环脚本做自动同步
#!/bin/bash
while inotifywait -rqq -e modify,move,create,delete,attrib /home/rsynctest/TX/
do
rsync -az --delete /home/rsynctest/TX/ root@192.168.8.165:/home/rsynctest/TX/
done &