rsync同步操作

命令用法

—rsync [选项] 源目录 目标目录

同步与复制的差异

-复制:完全拷贝源到目标

-同步:增量拷贝,只传输变化过的数据

-n:测试同步过程,不做实际修改

--delete:删除目标文件夹内多余的文档

-a:归档模式,相当于-rlptgoD

-v:显示详细操作信息

-X:保持acl策略不变

mkdir   /mydir    /todir
echo  haha  >  /mydir/h.txt
rsync  -avX   --delete   /mydir/      /todir    #同步目录的内容
ls   /mydir
ls  /todir
touch   /todir/a.txt
ls  /todir
rsync  -avX   --delete   /mydir/    /todir    #删除目标多出的数据
ls  /mydir
ls /todir

跨机器同步

虚拟机A:
rsync  -avX  --delete  /mydir/  root@192.168.88.2:/cbd
yes
输入密码
虚拟机B:
ls   /cbd

实时同步数据

监控目录内容变化工具
• 基本用法
inotifywait [选项] 目标文件夹
echo ---------------------------------------------------------
虚拟机A:
1.虚拟机A生成公钥与私钥
ssh-keygen   #一路回车
ls   /root/.ssh
2.虚拟机A将公钥传递给虚拟机B
ssh-copy-id  root@192.168.88.2
rsync  -avX  --delete  /mydir/  root@192.168.240:/cbd

vim  /etc/rsync.sh
while  /opt/myrpm/bin/inotifywait  -rqq   /mydir/    # -r递归监控包括子目录和文件  -q减少屏幕输出信息,-qq不输出信息
do
rsync  -aX  --delete   /mydir/    root@192.168.88.2:/cbd
done
bash   /etc/rsyna.sh   &    #放入后台运行脚本程序
jobs  -l  #  -l 显示进程的pid
kill -9  进程号