Linux下rsync(以守护进程的socke方式传输数据)的安装搭建

Linux下的Rsync数据同步服务

Rsync简介:

Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远 程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快

Rsync支持大多数的类Unix系统,无论是Linux、Solaris还是BSD上都经过了良好的测试Rsync英文全称Remote synchronization,从软件的名称就可以看出来,Rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像,远程备份的功能。从同步数据的性能及效率上,Rsync工具更胜一筹。

此外,它在windows平台下也有相应的版本,如cwRsync和Sync2NAS等工具

  1. 一个rsync想当于scp,cp,rm,但还是优于他们每个命令.传统的scp工具拷贝命令,每次都是完整的拷贝,而rsync除了完整拷贝外,还可以进行增量拷贝.
  2. 在同步备份数据时,默认情况下,rsync通过独特算法,
  3. 它仅同步大小或最后修改时间发生变化的文件或目录.
  4. 也可以根据权限,属主等变化同步,但需要指定相应的参数.
  5. 甚至可以实现只同步一个文件里有变化的内容部分.
  6. rsync+crontab来实现定时增量传输保持文件一致。

原理:

Rsync本来是用于替代rcp的一个工具,目前由rsync.samba.org维护,所以rsync.conf文件的格式类似于samba的主配 置文件;Rsync可以通过rsh或ssh使用,也能以daemon模式去运行

rsync采用多种算法:

  1. 分块Checksum算法: 通过该算法快速鉴别文件的不同
  2. 传输算法: 同步目标端会把fileDst的一个checksum列表传给同步源,这个列表里包括了三个东西,rolling checksum(32bits),md5 checksume(128bits),文件块编号。同步源机器拿到了这个列表后,会对fileSrc做同样的checksum,然后和fileDst的checksum做对比,这样就知道哪些文件块改变了
  3. checksum查找算法
  4. 比对算法

在以daemon方式运行时Rsync server会打开一个873 端口,等待客户端去连接。连接时,Rsync server会检查口令是否相符,若通过口令查核,则可以开始进行文件传输。第一次连通完成时,会把整份文件传输一次,以后则就只需进行增量备份

功能:

类似于 cp 命令 -- 实现本地备份传输数据

类似于scp 命令 -- 远程备份传输数据

类似于 rm 命令 -- 实现无差异同步备份

类似于 ls 命令 -- 本地文件信息查看

Linux下rsync(以守护进程的socke方式传输数据)的安装搭建

  1. 使用yum安装该软件:命令: yum -y install rsync (前提yum和网络良好),服务器端和客户端都需要安装,
  2. 检验安装是否成功,使用: rpm -qa |grep  rsync;(可以看到安装的rpm包)
  3. 首先对服务器端进行配置,修改配置文件,在/etc/rsyncd.conf
  4. 个参数意义:

 

# 用户

uid = root

#

gid = root

# 程序安全设置

use chroot = no

# 客户端连接数

max connections = 200

# 超时时间

timeout = 300

# 进程号文件位置

pid file = /var/run/rsyncd.pid

# 进程锁

lock file = /var/run/rsync.lock

# 日志文件位置

log file = /var/log/rsyncd.log

##########################################

创建共享目录及添加rsync程序用户:

启动服务:rsync --daemon

A-Server上的/backup文件夹更改属主rsync

创建rsync虚拟账户名和密码

将账户密码文件的权限设置为600(必须否则失败)

[backup]

# 使用目录

path = /backup/

# 有错误时忽略

ignore errors

# 可读可写(truefalse

read only = false

# 阻止远程列表(不让通过远程方式看服务端有啥)

list=false

# 允许IP

hosts allow = 192.168.197.0/24

# 禁止IP

hosts deny = 0.0.0.0/32

# 虚拟用户

auth users = rsync_backup

# 存放用户和密码的文件

secrets file = /etc/rsync.password

6.创建rsync用户,使用命令: useradd -s /sbin/nologin -M     rsync

 

创数据备份存储目录,目录属主,属组修改rsync用户.: chown -R rsync:rsync /backup/

7. 创建认证用户密码文件: echo “rsync_backup:123456” >>/etc/rsync.password

修改权限为600: chmod 600 /etc/rsync.password.

 

  1. 启动rsync服务.使用: rsync-daemon命令 (关闭命令是pkill rsync)至此服务器端配置结束.
  2. 以下配置客户端:
  3. 安装软件,创建认证文件,客户端的认证文件只需要有密码就可以
  4. echo “123456” >> /etc/rsync.password; chmod 600 /etc/rsync.password.然后就可以实现数据的传输,
  5. 实现传输: #将client端的指定目录内容推送到server端

这里可能会报错,:

rsync: failed to connect No route to host

rsync: failed to connect to 192.168.1.10: No route to host (113) rsync error: error in socket IO (code 10) at clientserver.c(104) [receiver=3.0.6]

  1. 一般是因为防火墙没有设置,需要将873端口开放:
  2. 在iptables 中开放该端口,语句如下:iptables -I INPUT -p tcp –dport 873 -j ACCEPT
  3. rsync默认端口873,其实就是把tcp udp的873端口打开。
  4. 或者:报错如下:.
  5. 这个是配置文件里面没有加fake super = yes 在以前的版本里面不需要,现在版本需要,在/etc/rsyncd.conf 文件里面添加即可解决。需要重启服务端的服务
  6. 然后重新测试,出现如上图的成功发送回显,则配置成功.
  7. 附上常见错误原因:

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吴爃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值