rsync同步操作

同步 : 只传输变化的数据 复制:完整的传输

命令用法 rsync [选项...] 源目录 目标目录

同步与复制的差异 复制:完全拷贝源到目标 同步:增量拷贝,只传输变化过的数据

本地同步

rsync [选项...] 本地目录1 本地目录2 #同步整个文件夹 rsync [选项...] 本地目录1/ 本地目录2 #只同步目录下的数据

rsync操作选项 -n:测试同步过程,不做实际修改 --delete:删除目标文件夹内多余的文档 -a:归档模式,相当于-rlptgoD -v:显示详细操作信息 -z:传输过程中启用压缩/解压

[root@svr ~]#rsync -avz --delete /dir1/ /nnd

远程同步 rsync+SSH同步

下行:rsync [...] user@host:远程目录 本地目录 上行:rsync [...] 本地目录 user@host:远程目录

[root@svr ~]# rsync -avz --delete /opt/ root@192.168.4.207:/opt/

###################################################

无密码的验证

公钥、私钥

  1. 在虚拟机Svr生成公钥、私钥 [root@svr ~]# ssh-keygen #一路回车 [root@svr ~]# ls /root/.ssh #公钥、私钥生成位置

  2. 在虚拟机Svr上,传递公钥到虚拟机pc [root@svr ~]# ssh-copy-id root@192.168.4.207

[root@pc ~]# ls /root/.ssh/ #公钥存放在对方的,位置及名称 authorized_keys

  1. 在虚拟机Svr上,测试 [root@svr ~]# ssh root@192.168.4.207 #无需密码验证 ########################################################

实时同步工具

安装inotify

inotify-tools-3.13.tar.gz

步骤1:安装gcc与make编译工具 步骤2:tar解包,释放源代码至指定目录 [root@svr /]# tar -xf /root/inotify-tools-3.13.tar.gz

步骤3: 配置,指定安装目录/功能模块等选项 [root@svr /]# cd /myrpm/inotify-tools-3.13/ [root@svr /]# ./configure

步骤4: 编译,生成可执行的二进制程序文件 [root@svr /]# make

步骤5: 安装,将编译好的文件复制到安装目录 [root@svr /]# make install

[root@svr /]# which inotifywait /usr/local/bin/inotifywait

[root@svr /]# inotifywait -mrq /opt/

[root@svr /]# rsync -avz --delete /opt/ root@192.168.4.207:/opt/

编辑实时同步的脚本

[root@svr /]# vim /root/rsync.sh

   #!/bin/bash
    while  inotifywait -rqq  /opt/
    do
         rsync -az --delete   /opt/  root@192.168.4.207:/opt/
    done

运行脚本

[root@svr /]# /root/rsync.sh &