rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。
同步和复制有什么不同,复制是指拷贝,源拷贝到目标数据,同步只是拷贝不同的部分,传输变化的数据
1.用法
rsync [选项] 源目录 目标目录
选项
-n:只是测试同步过程
–delete:删除目标文件夹内多余的文档
-a:归档模式
-v:显示详细操作信息
-z:传输过程中启用压缩/解压
例:
rsync -avz /test1/ /test2/
但是大部分我们使用rsync都会使用远程同步,比如备份数据等
2.rsync+SSH远程同步
rsync /本地路径/源文件/ 用户名@IP地址:/目标路径 //同步到远程
rsync 用户名@对方的IP地址:/目标路径 /本地路径/路径/ //远程同步回来
例:
A机器
touch /lxy/{1..5}.txt
rsync –delete -avz /lxy/ root@192.168.1.3:/lxy/
B机器
ls /lxy/
A机器
touch /lxy/6.txt
rsync –delete -avz /lxy/ root@192.168.1.3:/lxy/
然后再查看B机器是否有增量内容
3.实时远程同步,安装软件监控目录时候发生变化
A.ssh传递公钥取消用户名密码的验证
ssh-keygen //获取公钥私钥
ls /root/.ssh/ //查看公钥
ssh-copy-id root@192.168.1.3 //传递公钥
B.源码安装inotify-tools软件,改软件为监控目录变化
tar -xf /opt/inotify-tools-3.13.tar.gz
cd /inotify-tools-3.13/
./configure
make
make install
C.inotify-tools软件的使用方法
格式 inotifywait [选项] 目录
常用选项
-m:持续监控(捕获一个事件后不退出)
-r:递归监控、包括子目录及文件
-q:减少屏幕输出信息
-e:指定监视的 modify、move、create、delete、attrib 等事件类别
在A机器上监控目录lxy:inotifywait -mrq /lxy/
D.运行死循环脚本持续执行inotifywait命令,发现改变则进行同步
#!/bin/bash
while inotifywait -rmq /lxy/
do
rsync –delete -az /lxy/ root@192.168.1.3:/lxy
done &
4.运用任务计划定时同步目录
crontab -e //以当前用户创建任务
*/1 * * * * rsync –delete -az /lxy/ root@192.168.1.3:/lxy
//添加任务,每分钟执行一次
crontab -l //查看任务
未经允许不得转载:天府数据港官方信息博客 » rsync同步
客官点个赞呗! (0)