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/
###################################################
无密码的验证
公钥、私钥
-
在虚拟机Svr生成公钥、私钥 [root@svr ~]# ssh-keygen #一路回车 [root@svr ~]# ls /root/.ssh #公钥、私钥生成位置
-
在虚拟机Svr上,传递公钥到虚拟机pc [root@svr ~]# ssh-copy-id root@192.168.4.207
[root@pc ~]# ls /root/.ssh/ #公钥存放在对方的,位置及名称 authorized_keys
- 在虚拟机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 &