CentOS 7 rsync

1)软件简介

Rsync 是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件。Rsync 本来是用以取代rcp 的一个工具,它当前由 Rsync.samba.org 维护。Rsync 使用所谓的“Rsync 演算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。运行 Rsync server 的机器也叫 backup server,一个 Rsync server 可同时备份多个 client 的数据;也可以多个Rsync server 备份一个 client 的数据。

Rsync 可以搭配 rsh 或 ssh 甚至使用 daemon 模式。Rsync server 会打开一个873的服务通道(port),等待对方 Rsync 连接。连接时,Rsync server 会检查口令是否相符,若通过口令查核,则可以开始进行文件传输。第一次连通完成时,会把整份文件传输一次,下一次就只传送二个文件之间不同的部份。

Rsync 支持大多数的类 Unix 系统,无论是 Linux、Solaris 还是 BSD 上都经过了良好的测试。此外,它在windows 平台下也有相应的版本,比较知名的有 cwRsync 和 Sync2NAS。

Rsync 的基本特点如下:

可以镜像保存整个目录树和文件系统;
可以很容易做到保持原来文件的权限、时间、软硬链接等;
无须特殊权限即可安装;
优化的流程,文件传输效率高;
可以使用 rcp、ssh 等方式来传输文件,当然也可以通过直接的 socket 连接;
支持匿名传输。

2)核心算法

假定在名为 α 和 β 的两台计算机之间同步相似的文件 A 与 B,其中 α 对文件A拥有访问权,β 对文件 B 拥有访问权。并且假定主机 α 与 β 之间的网络带宽很小。那么 Rsync 算法将通过下面的五个步骤来完成:

β 将文件 B 分割成一组不重叠的固定大小为 S 字节的数据块。最后一块可能会比 S 小。
β 对每一个分割好的数据块执行两种校验:一种是32位的滚动弱校验,另一种是128位的 MD4 强校验。
β 将这些校验结果发给 α。
α 通过搜索文件 A 的所有大小为 S 的数据块(偏移量可以任选,不一定非要是 S 的倍数),来寻找与文件B 的某一块有着相同的弱校验码和强校验码的数据块。这项工作可以借助滚动校验的特性很快完成。
α 发给 β 一串指令来生成文件 A 在 β 上的备份。这里的每一条指令要么是对文件 B 经拥有某一个数据块而不须重传的证明,要么是一个数据块,这个数据块肯定是没有与文件 B 的任何一个数据块匹配上的。

3配置管理

1 关闭selinux

临时关闭 setenforce 0

永久关闭 $vi /etc/sysconfig/selinux
SELINUX=disabled

2 安装rsync 系统自带

开机启动 systemctl enable rsyncd

3 配置服务端
$ vi /etc/rsyncd.conf

# /etc/rsyncd: configuration file for rsync daemon mode

# See rsyncd.conf man page for more options.

# configuration example:

uid = root
gid = root
use chroot = no
max connections = 2
strict modes = yes
port = 873
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log

[hadoop]
path = /opt/hadoop/etc/hadoop/ # 数据存放位置
comment = HADOOP
read only = yes
list = no
auth users = hadoop # 与系统用户无关
secrets file = /etc/rsyncd.secret
#hosts allow = 192.168.6.1 #设置允许访问的客户端多个客户端用空格隔开
#hosts deny = * #设置不允许访问的黑名单
[zookeeper] #这里相当于一个区分符,如果要同步多个文件夹就在这里区分
path = /opt/zookeeper/conf # 数据存放位置
comment = ZOOKEEPER
auth users = hadoop
secrets file = /etc/rsyncd.secrets #存放rsync密码的文件
read only = no
list = no

配置rsync密码(在上边的配置文件中已经写好路径)/etc/rsyncd.secrets(名字随便写,只要和上边配置文件里的一致即可),格式(一行一个用户)
$ vi /etc/rsyncd.secrets

hadoop:hadoop # 用户:密码
hadoop1:hadoop1

配置rsync密码文件权限

chown root.root /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets

4 启动 验证

$ systemctl start rsyncd

$ netstat -apn | grep rsync
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 2688/rsync
tcp6 0 0 :::873 :::* LISTEN 2688/rsync

5 客户端配置

1 配置三个过程就可以了
1.1 设定密码文件
1.2 测试rsync执行指令
1.3 将rsync指令放入周期任务(crontab)

设定密码文件
$ vi /etc/rsyncd.secrets
hadoop #这里只需要写密码

$ chown root:root /etc/rsyncd.secrets # 注意必须给权限
$ chmod 600 /etc/rsyncd.secrets # 必须修改权限

测试rsync执行指令

上传 rsync -avz --password-file=/etc/rsyncd.secrets /opt/hadoop/etc/hadoo [email protected]::hadoop 
下载 rsync -avz --progress --password-file=/etc/rsyncd.secrets [email protected]::hadoop /opt/hadoop/etc/hadoop

rsync的参数的说明:
-a 相当于 -rlptgoD 的集合
-u 等同于 –update,在目标文件比源文件新的情况下不更新
-v 显示同步的文件
–progress 显示文件同步时的百分比进度、传输速率

将rsync指令放入周期任务(crontab)

时间: 2024-10-29 20:53:23

CentOS 7 rsync的相关文章

centos下Rsync文件备份服务快速配置

rsync简单快速配置 rsync 可实现全量以及增量的本地或远程数据备份.一个rsync相当于scp,cp,rm但优于他们每一个命令,因为rsync是一款如此有用的软件,所以很多Linux的发行版本都将它收录在内了. 当然也可以到官方rysnc的官方网站:http://rsync.samba.org/从上面得到最新的版本. 安装方法无外乎那几种 yum install rsync -y  或者从网站获取到gz包进行编译安装. 1.rsync服务端文件配置. 默认他的配置文件是不存在的所以需要自

centos下rsync同步数据

1. 安装rsync yum -y installrsync 2. 无密码命令行同步 客户端操作 ssh-keygen -trsa ssh-copy-id -i /root/.ssh/[email protected] ssh [email protected] mkdir -pv/data/shell rsync -az--delete [email protected]:/data/rsyncdata/ /data/shell/ 3. 用密码服务方式同步 由于rsync属于xinetd的服务

CentOS系统rsync文件同步 安装配置

rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync 它的特性如下: 可以镜像保存整个目录树和文件系统. 可以很容易做到保持原来文件的权限.时间.软硬链接等等. 无须特殊权限即可安装. 快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件.rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽. 安全:可以使用scp.ssh等方式来传输文件,当然也可以通过直接的socket连接. 支持匿名传输,以方

centos系统rsync+sersync实现数据实时同步

https://blog.51cto.com/xuegod/2322136 一台装sersync.一台装rsync服务 sersync服务器(数据源,源机器):192.168.0.63 rsync客户端(备份端,目标机器):192.168.0.64 1. 为什么要用rsync+sersync架构? (1) sersync是基于inotify开发的,类似于inotify-tools的工具. (2) sersync可以记录下被监听目录中发生变化的(包括增加.删除.修改)具体某一个文件或者某一个目录的

rsync+SSH同步,rsync+rsync同步

1.RSYNC:远程同步,支持本地复制,或与其他SSH.rsync主机同步. rsync远程同步和cp.scp功能基本一致,不同的是其他两个是对源文件进行复制,如果有新加入的数据,使用cp.scp把源文件所有的内容在进行复制,而rsync是在源文件的基础上只更新新变化的数据. 2.同步与复制的差异: 复制:完全拷贝源到目标. 同步:增量拷贝,只传输变化过的数据. 3.rsync 同步的基本操作 使用格式:rsync  源文档  目标文档 rsync常用选项-a:归档模式,相当于-rlptgoD-

Centos 本地yum源的搭建

第一步: 从rsync协议的yum源,同步脚本如下: [[email protected] crontab]# cat yum_update.sh #!/bin/bashdate=`date +%F`echo $date > /var/log/yum_update.log##########Centossour_URL="rsync://centos.ustc.edu.cn/centos"osList="6.6"os_Plant="x86_64&qu

Ubuntu及Centos本地镜像服务器

最近因为要安装一个软件, 发现阿里云的源都没有了, 我这边用的Centos5, 然后现在似乎是过期了. 国内很多镜像源都没有centos5的. 然后才想起要折腾一个本地源. centos的话, 直接 rsync 就OK了. #!/bin/bash # centos rsync -av --bwlimit=3072 rsync://rsync.mirrors.ustc.edu.cn/centos/ --exclude-from=/local_home/mirrors/conf/exclude_ce

烂泥:linux文件同步之rsync学习(一)

本文由秀依林枫提供友情赞助,首发于烂泥行天下. 这几天刚好有空就打算开始学习linux下的文件同步软件rsync,在学习rsync时,我们可以分以下几个步骤进行: 1. rsync是什么 2. rsync的工作原理 3. rsync优点 4. rsync认证方式 5. 安装rsync 6. rsync命令参数详解 7. 配置rsync 8. rsync的启动与关闭 9. rsync同步实例 说明:rsync服务器与客户端使用的OS均为:centos 6.5 64bit. 一.rsync是什么 在

一、rsync基础原理

第1章 rsync 软件介绍 1.1 什么是rsync rsync 是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具. http://www.samba.org/ftp/rsync/rsync.html 下载地址:https://download.samba.org/pub/rsync/ 1.1.1 全量及增量 全量:将全部数据,进行传输覆盖 增量:只传输差异部分的数据 1.2 实现增量复制的原理 Rsync通过其独特的“quick check”算法,实现增量传