创新路
我们一直在努力

rsync同步

rsynclinux系统的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSHrsync主机同步。

同步和复制有什么不同,复制是指拷贝源拷贝到目标数据,同步只是拷贝不同的部分,传输变化的数据

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指定监视的 modifymovecreatedeleteattrib 等事件类别

A机器上监控目录lxyinotifywait -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 /lxyroot@192.168.1.3:/lxy 

//添加任务,每分钟执行一次

crontab -l  //查看任务

未经允许不得转载:天府数据港官方信息博客 » rsync同步

客官点个赞呗! (0)
分享到:

评论 抢沙发

评论前必须登录!

天府云博 - 做有态度的开发&运维&设计学习分享平台!

联系我们百度云主机