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备份服务的主要内容,如果未能解决你的问题,请参考以下文章