rsync 同步操作
格式: rsync [选项] 源目录 目标目录 每次只传输变化的数据
本地同步: rsync [选项] 本地目录1 本地目录2 没有/同步整个文件夹
rsync [选项] 本地目录1/ 本地目录2 有/只同步目录下的数据
rsync 操作选项 -n:测试同步过程,不做实际修改 --delete:删除目标文件夹内多余的文档 -a:归档模式 -v:显示详细操作信息 -z:传输过程启用压缩/解压
例:rsync -avz /abc/ /test
与远程的SSH目录保持同步 方式1.rsync [选项] user@host:远程目录 本地目录
方式2.rsync [选项] 本地目录 user@host:远程目录
例:rsync -avz --delete /abc/ root@192.168.4.207:/opt/ (远程的IP地址)
实时同步 1.密码验证取消,采用公钥私钥验证 ssh-keygen 生成公钥私钥
ls /root/.ssh 公钥私钥存放位置
ssh-copy-id root@192.168.4.207 拷贝公钥到对方
2.验证是否还需要密码 ssh root@192.168.4.207
3.inotify实时监控目录,内容是否变化 源码安装inofify-tools-3.13.tar.gz包
4.inotify基本用法 inotifywait [选项] 目标文件
5.inotify常用选项 -m:持续监控(捕获一个事件后不退出) -r:递归监控,包括子目录及文件
6.rsync -avz --delete /abc/ root@192.168.4.207:/opt/
7.脚本测试:
cat inotify.sh
#!/bin/bash
inotify=/usr/local/bin/inotifywait
$inotify -mrq --timefmt '%y%m%d %H:%M' --format '%T %w%f' -e close_write,modify,delete,create,attrib /abc
|while read file
do
rsync -avz --delete /abc/ /abc_back/
done
exit 0