linux---集群架构初探(4)rsync企业项目案例

RSYNC的优缺点

优点

1.增量备份,支持socket(daemon)守护进程模式,集中备份(支持推拉模式备份)

2.远程shell通道模式还可以加密(ssh)传输

3.socket(daemon)需要加密传输,可以利用vpn服务或ipsec服务

缺点

1.大量小文件复制的时候,rsync进程因为比对的原因可能会卡死或速度较慢(解决办法:先压缩再拷贝)

2.一次性远程拷贝可以用scp

Rsync企业常用工作场景

1.服务器之间数据备份(定时任务cron+rsync)

在集群架构中,搭建一台备份服务器,用于全网服务器的数据备份工作,利用定时任务功能将所有服务器本地重要的数据定时rsync到备份服务器上。

定时备份主要用于内部人员(开发、运维)产出的代码的备份。

2.两台服务器之间实时数据备份(实时任务inotify/sersync+rsync)

实时备份主要用于用户上传的数据,如图片、视频、文字等。

Rsync企业项目案例

公司有一台web服务器,数据重要,领导要求做数据备份,以便数据丢失后可以恢复数据

备份要求

每天0点在web服务器A上打包备份系统配置文件、网站程序目录以及访问日志并通过rsync命令推送到备份服务器B上

服务器信息

服务器说明 外网IP 内网IP 主机名称
nginx web服务器 192.168.1.7/24 172.16.1.7/24 web01
NFS存储服务器 192.168.1.31/24 172.16.1.31/24 nfs01
rsync备份服务器 192.168.1.41/24 172.16.1.41/24 backup

注:实际工作中NFS和rsync服务器是没有外网IP的,运维人员通过vpn连接服务器内网进行工作。

备份思路

现在本地按日期打包,再推送到备份服务器上。

注:在实际工作中NFS存储服务器和web服务器就是运维主要管理的服务器。

具体要求

①所有服务器的备份目录必须都为 /backup

②要备份的系统配置文件包括但不限于:

  a)定时任务服务的配置文件   (/var/spool/cron/root)  (适合web和nfs服务器)

  b)开机自启动的配置文件       (/etc/rc.local)       (适合web和nfs服务器)

  c)日常脚本的目录        (/server/scripts)
③Web服务器站点目录假定为/var/html/www,如果没有可以先模拟创建

④Web服务器访问日志路径假定为/app/logs,如果没有可以先模拟创建。

⑤Web服务器本地保留打包后的7天备份数据即可(本地留存不能多于7天因为太多硬盘会满)。

⑥备份服务器 backup上,保留最近7天的备份数据,同时保留6个月内每周一的所有数据副本

⑦备份服务器上要按照备份数据服务器的内网IP为目录保存备份,备份的文件按照时间名字保存

⑧需要确保备份的数据尽量完整正确,在备份服务器上对备份的数据是否完整进行检查。

⑨每天早晨8:00把备份成功或失败结果信息发到系统管理员邮箱中。

具体操作流程(模拟)

1.搭建服务器并测试

搭建参考:https://www.cnblogs.com/1016391912pm/p/12995659.html 中的守护进程模式

2.创建模拟目录、编写脚本并测试

创建模拟目录、脚本

编辑脚本

注意:tar参数f要放在最后面,find查找多文件时-name要用单引号,rsync推送子文件最后加上斜杠 如/backup/

测试通过

3.添加定时任务

crontab -e

4.确保备份文件完整性

一要确保本地打包正常,二要确保传输过程没问题

在web服务器的/server/scripts/bak.sh脚本中添加两行命令:

5.在备份服务器上设置定时脚本,删除多余备份文件,验证文件正确性

 直接这样发送的话,会被邮箱当做垃圾邮件过滤掉,可以使用邮箱授权码,通过邮箱间发送,打开163邮箱获取授权码:

配置文件/etc/mail.rc,在最后一行加上:

这样是自己给自己发邮件,测试:

web01服务器(今天是6月1号):

backup服务器:

查看以收到文件

然后执行一遍删除检查脚本

/bin/bash /server/scripts/bak_del.sh

查看邮箱,已收到邮件:

posted @ 2020-06-01 00:27  盗哥泡茶去了  阅读(251)  评论(0)    收藏  举报