Rsync备份服务
一、企业备份方式
1、全量备份
全量备份(full backup)也称为完全备份,指对某个指定时间点的所有数据和对应的结构进行一个完全的备份。非常重要,是差异备份和增量备份的基础;
特点:1.数据最完备;2.安全性最高;3.备份和恢复时间随着数据的体量而明显增加;4.备份期间会对系统性能产生一定影响。
2、增量备份
增量备份(incremental backup)是备份的一个类型,是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件。
特点:1.备份速度快;2.节省存储空间;3.数据还原的时间较长,效率相对较低。
增量备份回复数据是非常麻烦的,我们需要具有上一次全备份和所有增量备份磁带,并且它们必须沿着从全备份到依次增量备份的时间顺序逐个反推恢复。
3、差异备份
差异备份(differential Backup)是指在一次全备份后到进行差异备份的这段时间内,对那些增加或者修改文件的备份。在进行恢复时,我们只需对第一次全备份和最后一次差异备份进行恢复。差异备份在避免了另外两种备份策略缺陷的同时,又具备了它们各自的优点。系统管理员只需要两盘磁带,即全备份磁带与灾难发生前一天的差异备份磁带,就可以将系统恢复。
二、Rsync服务介绍
rsync(remote synchronize)是Liunx/Unix下的一个远程数据同步工具。它可通过LAN/WAN快速同步多台主机间的文件和目录,并适当利用rsync算法(差分编码)以减少数据的传输。除此之外,rsync可拷贝、显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝。
在同步数据的时候,默认情况下,rsync通过其独特的“quick check”算法,它仅同步大小或者最后修改时间发生变化的文件或目录,当然也可根据权限、属主等属性的变化同步,但是需要制定相应的参数,甚至可以实现只同步一个文件里有变化的内容部分,所以,可是实现快速的同步备份数据。
三、Rsync服务配置
1、服务端配置
1️⃣安装Rsync;[root@backup ~]# yum -y install rsync
2️⃣创建虚拟用户来运行rsync服务;
1 | # 创建rsync账户,不允许登录不创建家目录,如果我们以root用户运行rsync服务容出现安全问题(root用户对所有目录都具有读写权限)。 |
3️⃣配置Rsync;
1 | [root@backup ~]# cat /etc/rsyncd.conf |
4️⃣创建虚拟用户密码文件, 授权600安全权限(用于客户端连接时验证账户);
1 | [root@backup ~]# echo "rsync_backup:zls" >/etc/rsync.passwd |
5️⃣启动rsync服务,并将rsync加入开机自启动;
1 | [root@backup ~]# systemctl start rsyncd |
6️⃣检查端口;
1 | [root@nanxi ~]#netstat -lntup|grep rsync |
2、客户端配置
1️⃣客户端需安装reync服务,配置虚拟用户的密码,并授权为600安全权限;
1 | [root@nfs1 ~]# yum -y install rsync |
注意
不配置变量,但是指定密码文件校验的方式如下:
如果不指定密码文件,我们是需要验证服务端rsync账户的密码,才可以进行传输。
如果不写主机名,我们默认服务端以我们同等的身份运行rsync服务,我们客户端使用的是root账户,那么服务端也会默认使用root身份,但是我们在Rsync的服务配置文件里面禁止了root身份运行,会出现报错。
四、Rsync备份实战
🔎 客户端推送(push)backup目录下所有内容至Rsync服务端;
🔎 客户端拉取(pull)Rsync服务端 backup模块数据至本地客户端的 /backup目录;
☝️如果本地没有/backup这个目录,拉取数据时会直接在本地创建我们需要的目录。但是如果我们上传时候远端没有我们的目标目录,则会报错@ERROR: Unknown module ‘data’,因为我们在服务端Rsync服务的配置中,为避免文件上传混乱,禁锢了推送的目录
🔎 Rsync实现数据无差异同步;
通过rsync实现数据同步有两种方式,但这两种方式有很明显的区别,如果操作不当会对业务造成严重影响,我们一定要注意区分。
① 推送数据至远端,实现远端与本地数据同步:远端被动与本地保持一致, 本地没有远端有远端会被删除(造成服务端数据丢失), 本地有远端没有,远端会增加。
② 拉取远端数据,实现远端与本地数据同步:本地被动与远端保持一致,远端没有本地有会被删除(造成客户端数据丢失),远端有本地没有,本地会增加。
🔎 Rsync传输限速;
当我们同步数据的时候,系统会默认使用最大速率,但是我们在企业中会有很多员工同时在工作,我们都在同一局域网下,如果使用默认传输速率,虽然很快,但我们因为传输文件而直接把带宽占满,会造成同事网络缓慢,影响同事业务,所以我们在同步数据时一般会限制传输速率。
优于别人,并不高贵,真正的高贵应该是优于过去的自己。
——海明威