RSYNC备份服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RSYNC备份服务相关的知识,希望对你有一定的参考价值。

参考技术A rsync是一款开源的备份工具,可以在不同主机之间进行同步(windows和Linux之间 Mac和Linux Linux和Linux),可实现全量备份与增量备份,因此非常适合用于架构集中式备份或异地备份等应用。
rsync官方地址: https://rsync.samba.org/
rsync监听端口:873
rsync工作模式:c/s
说明:这里常用的是c/s模式,在两台或多台服务器之间拷贝数据时,一般我们可能会使用scp或wget,这样操作无法保证数据的完整,为了保证数据的一致性,建议使用rsync基于ssh的传输的c/c模式,这样可以保证的一致性。

完全备份简单的说就是:每天对所有的数据进行完全备份。
这种备份策略的好处是:当发生数据丢失的灾难时,直接恢复之前的数据就可以,因为之前备份的数据就是全部的数据,这样对于恢复就方便的多。
这种策略不足之处:首先,由于每天都对所有数据进行完全备份,造成备份的数据大量重复。这些重复的数据占用了大量的磁盘空间,这对用户来说就意味着增加成本。其次,由于需要备份的数据量较大,因此备份所需的时间也就较长。对于那些业务繁忙、备份时间有限的单位来说,选择这种备份策略是不明智的。

增量备份简单说就是:仅备份客户端与服务端差异的部分,也就说第一次是全量备份,之后备份数据只备份当天新的或被修改过的数据进行备份。这样操作就解决了上面的不足的问题。

所有主机推送本地数据至rsync备份服务器,这样会导致数据同步缓慢,服务器比较少的话可以使用这种方式。

rsync备份服务端拉取所有主机上的数据,这样操作会导致服务端的压力比较大,较少服务器场景下可以使用。

适用于单个主机本地之间的数据传输,与本地使用cp命令类似。
具体用法如下:

基于ssh通道传输,类似于使用scp命令。
注意:rsync借助ssh协议同步数据存在一些的缺陷问题,具体问题如下:

具体用法如下:

这个是rsync自带的功能,不使用系统用户,更加安全。
具体用法如下:

rsync命令参数说明

说明:客户端也可以不做任何配置,手动输入密码也是可以的。

1.客户端提前准备存放的备份的目录,目录规则如下:/backup/nfs_172.16.1.31_2018-09-02
2.客户端在本地打包备份(系统配置文件、应用配置等)拷贝至/backup/nfs_172.16.1.31_2018-09-02
3.客户端最后将备份的数据进行推送至备份服务器、
4.客户端每天凌晨1点定时执行该脚本
5.客户端服务器本地保留最近7天的数据, 避免浪费磁盘空间

1.服务端部署rsync,用于接收客户端推送过来的备份数据
2.服务端需要每天校验客户端推送过来的数据是否完整
3.服务端需要每天校验的结果通知给管理员
4.服务端仅保留6个月的备份数据,其余的全部删除

说明:全网备份的思路就是这样,如果有所不同,自行根据具体情况配置即可。

如何配置Rsync备份服务器

环境:一台NFS存储服务器,一台RSYNC备份服务器

Rsync服务端(rsync备份服务器)ip地址172.16.1.41

Rsync客户端(nfs存储服务器)ip地址172.16.1.31



第一步:查看版本信息(服务端)

Rsync服务器

[[email protected] ~]# uname -r

2.6.32-696.el6.x86_64

[[email protected] ~]# cat /etc/redhat-release 

CentOS release 6.9 (Final)


第二步:查看是否有Rsync软件

 [[email protected] ~]# rpm -qa|grep rsync

rsync-3.0.6-12.el6.x86_64

如果没有那就使用yum进行安装



第三步:配置rsync主配置文件

/etc/rsyncd.conf

服务器上是没有这个文件目录的,我们直接vim编辑,编辑完成后系统会自动生成一个

[[email protected] ~]# vim /etc/rsyncd.conf

[[email protected] ~]# cat /etc/rsyncd.conf 

uid = rsync

gid = rsync

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

[backup]

path = /backup

ignore errors

read only = false

list = false

hosts allow = 172.16.1.0/24

hosts deny = 0.0.0.0/32

auth users = rsync_backup

secrets file = /etc/rsync.password


backup模块下的配置信息只针对本模块生效(局部生效)

技术分享


第四步:创建rsync服务管理用户

useradd -s /sbin/nologin -M rsync


第五步:创建数据备份存储目录,将目录的属组,属主

mkdir /backup

chown -R rsync.rsync /backup/


第六步:创建认证用户密码文件

echo "rsync_backup:123456"  >/etc/rsync.password

chmod 600 /etc/rsync.password


第七步:启动rsync服务,并检查

启动:rsync --daemon

[[email protected] ~]# rsync --daemon

[[email protected] ~]# ps -ef |grep rsync

root       3794      1  0 17:14 ?        00:00:00 rsync --daemon

root       3796   2187  0 17:14 pts/1    00:00:00 grep --color=auto rsync

至此,服务端配置完成。


客户端配置:

第一步:查看版本信息

[[email protected] ~]# uname -r

2.6.32-696.el6.x86_64

[[email protected] ~]# cat /etc/redhat-release 

CentOS release 6.9 (Final)


第二步:软件是否存在

[[email protected] ~]#  rpm -qa|grep rsync

rsync-3.0.6-12.el6.x86_64


第三步:建立认证文件

echo "123456"  >/etc/rsync.password

chmod 600 /etc/rsync.password


第四步:测试传输

非交互式登陆: 

[[email protected] ~]# rsync -avz /etc/hosts  [email protected]::backup --password-file=/etc/rsync.password

sending incremental file list

hosts


sent 210 bytes  received 27 bytes  474.00 bytes/sec

total size is 388  speedup is 1.64


Rsync服务端查看

[[email protected] ~]# cd /backup/

[[email protected] backup]# ls

hosts


交互式登陆: 

NFS端登陆

[[email protected] ~]# rsync -avz /etc/hosts  [email protected]::backup

Password: 

sending incremental file list


sent 26 bytes  received 8 bytes  13.60 bytes/sec

total size is 388  speedup is 11.41

去Rsync服务端查看:

[[email protected] backup]# ls

hosts


本文出自 “成长之路” 博客,请务必保留此出处http://12605313.blog.51cto.com/12595313/1976107

以上是关于RSYNC备份服务的主要内容,如果未能解决你的问题,请参考以下文章

RSYNC备份服务

如何使用 rsync 将 Windows 上的文件备份到 Linux 服务器上

Rsync备份服务

rsync备份服务器搭建部署

rsync备份

rsync服务的搭建