快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

文件备份同步rsync

一、rsync概述

成都创新互联是一家专注于网站设计、成都网站建设与策划设计,仓山网站建设哪家好?成都创新互联做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:仓山等地区。仓山做网站价格咨询:18980820575

        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.3、unison + 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


 

 

 


文章标题:文件备份同步rsync
文章URL:http://6mz.cn/article/pcooec.html

其他资讯