温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

文件备份同步rsync

发布时间:2020-08-05 19:43:03 来源:网络 阅读:779 作者:夜风狂1102 栏目:建站服务器

一、rsync概述

         rsync是类unix系统下的数据镜像备份工具——remote sync。一款支持快速增量备份的工具,支持本地复制远程同步等,rsync 命令来同步系统文件之前要先登录remote 主机认证,认证过程中用到的协议有2种:ssh 协议和rsync协议。

 rsync特性

  1. 1.     能更新整个目录和树和文件系统

  2. 2.     有选择性的保持符号链接、硬链接、文件属性、权限、设备以及时间等

  3. 3.     对于安装来说,无任何特殊权限要求

  4. 4.     对于多个文件来说,内部流水线减少文件等待的延时

  5. 5.     能用rsh、ssh或直接端口作为传输入口端口

  6. 6.     支持匿名rsync同步文件,是理想的镜像工具

二、同步源

rsync服务器):

指备份操作的远程服务器,也称为备份源

主要包括两种:ssh源、rsync源

2.1、ssh同步源

实验环境准备:一台服务器,一台客户端

在服务器和客户端上创建单独的测试目录(/server/ssh、/client/ssh)

2.1.1、下行同步(下载)

rsync -avz 服务器地址:/服务器目录/  本地目录

rsync –avz 192.168.115.198:/server/ssh/ /client/ssh/

文件备份同步rsync

-a:归档模式,递归并保留对象属性

-v:显示同步过程

-z:在传输文件时进行压缩

2.1.2、上行同步(上传)

rsync -avz  /本地目录/* 服务器地址:/服务器目录

首先,在服务器端创建用来做上行同步的用户,并给予用户对上行同步文件所在的目录要有权限执行

文件备份同步rsync

要结合setfacl使用,保证安全性

在客户端进行上传文件

文件备份同步rsync

 

2.2、rsync同步源

实验环境准备:一台服务器,一台客户端

在服务器和客户端上创建单独的测试目录(/server/rsync、/client/rsync)

1)在服务器端创建主配置文件(/etc/rsyncd.conf)

文件备份同步rsync

2)创建密码文件

文件备份同步rsync

3)启动服务  rsync --daemon

文件备份同步rsync

2.2.1、下行同步

rsync -avz 用户名@服务器地址::共享模块名 /本地目录

rsync -avz rsync://用户名@服务器地址/共享模块名 /本地目录

文件备份同步rsync

解决方法,修改密码文件的权限

文件备份同步rsync

之后,重新启动rsync服务

先关闭 kill -s QUIT 进程号

文件备份同步rsync

再启动时会启动不成功,这时候要删除进程号的文件

文件备份同步rsync

再在客户端上连接就会成功了

文件备份同步rsync

2.2.2、上行同步

rsync -avz  /本地目录/* 用户名@服务器地址::共享模块名

rsync -avz  /本地目录/* rsync://用户名@服务器地址/共享模块名

首先,要修改模块的权限

文件备份同步rsync

再测试,就成功了

文件备份同步rsync

--delete删除目标地址有,而源地址没有的文件

文件备份同步rsync

三、免密码验证

3.1、ssh源(密钥对)

在客户端生成密钥对

文件备份同步rsync

 

3.2、.rsync同步源(变量)

export RSYNC_PASSWORD=虚拟用户密码

文件备份同步rsync

 

四、自动实时同步备份

定期同步的不足

执行备份的时间固定,延期明显,实时性差

当同步源长期不变化时,密集的定期任务是不必要的

实时同步的优点

一旦同步源出现变化,立即启动备份

只要同步源无变化,则不执行备份

 

4.1、配置inotify

 

配置文件(/etc/sysctl.conf)6.*下的优化可有可无

mak_queue_events = 16384

监控队列大小(16384)

mak_user_instances = 1024

最多监控实例数(1024)

max_user_watches = 1028576

每个实例最多监控文件数(1028576)

 

环境配置:安装gcc*,安装包准备好

1)解压安装

文件备份同步rsync

2)inotifywait:用于持续监控,实时输出结果

   inotifywatch:用于短期监控,任务完成后再出结果

文件备份同步rsync


创建用来做上行同步的用户,并给予用户对上行同步文件所在的目录要有权限执行

文件备份同步rsync

 

4.2、主从服务器单向实时同步

rsync+ inotify(实时同步,单向同步工具。结合下面的脚本使用)

文件备份同步rsync


注:用户登录时要求免密码验证,so要给asd用户生成密钥对(用户asd要在服务器端存在)

文件备份同步rsync

测试验证(实时同步,单向同步工具)

文件备份同步rsync


 4.3unison + inotify 双向实时同步

4.3.1、实现双向免秘钥文件传输

1)实现同步的两个目录

创建目录   客户端: /client/ssh/  服务器端: /server/ssh/

2)如若用root来实现登录的话,生成密钥对,以便于免密码验证

ssh-keygen  -t rsa                        

ssh-copy-id  root@192.168.115.199 (服务器ip)   

ssh-keygen  -t rsa  

ssh-copy-id  root@192.168.115.198(客户端ip)

文件备份同步rsync

服务器端秘钥生成同上

4.3.2、安装三个软件

1)先安装inotify(需先安装gcc*

文件备份同步rsync

2)再安装ocaml

./configurer    make world opt    make install

文件备份同步rsync


3)安装unison

文件备份同步rsync

文件备份同步rsync

把生成的脚本拷贝出来

文件备份同步rsync

接下来同样的操作在服务器端也做一遍。。。。

4.3.3、配置脚本

客户端

文件备份同步rsync

服务器端

文件备份同步rsync

文件备份同步rsync


取消提示信息使用nohup方式执行脚本

文件备份同步rsync


 


 

 


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI