自动化备份全网服务器数据平台项目
1.项目说明
该项目共分为2个子项目,由环境搭建和实施备份两部分组成
-
要求如下:
-
每天00点整在Web服务器上按日期打包备份系统配置文件、网站程序目录及访问日志文件
-
通过rsync命令推送到备份服务器上保存
-
备份服务器定时清除旧记录
-
搭建邮件告警平台
-
2.备份需求
-
所有服务器的备份目录必须都为/backup。
-
要备份的系统配置文件包括但不限于:
-
定时任务服务的配置文件(/var/spool/cron/root) (适合Web和NFS服务器)。
-
开机自启动的配置文件(/etc/rc.local) (适合Web和NFS服务器)。
-
日常脚本的目录 (/server/scripts)。
-
-
Web服务器要求
-
Web站点目录假定为/var/html/www,如果没有,可以先模拟创建。
-
Web服务器访问日志路径假定为/app/logs,如果没有,可以先模拟创建。
-
Web服务器本地保留打包后的7天备份数据即可(本地留存不能多于7天,因为数据太多硬盘会满)。
-
-
备份服务器要求
-
保留最近7天所有备份数据,保留6个月内每周一的所有数据副本。
-
要按照备份数据服务器内网IP为目录名称,备份的文件按照时间、名称为文件名称。
-
需要确保备份的数据尽量完整准确,在备份服务器上对备份的数据是否完整进行检查。
-
备份服务器每天早晨8:00把备份成功或失败结果信息发送到系统管理员邮箱里。
-
3.服务器部署
Web服务器搭建部署
-
验证Rsync服务能否推送成功。
-
开发脚本实现打包备份、推送、校验、删除。
-
配置定时任务每天0点定时推送(0时是时间的一个分隔点)。
-
配置脚本和web服务器类似,过程略。
NFS服务器搭建部署
-
验证Rsync服务能否推送成功。
-
开发脚本实现打包备份、推送、校验、删除。
-
配置定时任务每天0点定时推送(0时是时间的一个分隔点)。
-
配置脚本和web服务器类似,过程略。
搭建备份服务器
-
rsync服务器搭建部署。
-
开发脚本实现校验、删除、报警。
-
配置实时任务每天6点实时执行。
-
配置告警邮件发送平台
4.实施步骤
4.1环境搭建
4.1.1web01服务器环境搭建
-
安装Centos7.9系统,替换yum源,连接xshell,过程略
-
关闭防火墙和selinux,设置主机名

-
设置静态ip
vi /etc/sysconfig/network-scripts/ifcfg-ens33

安装所有软件
![]()
-
部署网站示例


修改配置文件,重启nginx

最后测试

4.1.2nfs服务器环境搭建
-
安装Centos7.9系统,替换yum源,连接xshell,过程略
-
关闭防火墙和selinux,设置主机名
-
设置静态ip
与web01一样配置,故省略
安装所有软件
![]()
-
部署共享存储,nfs01为服务端,web01为客户端
nfs01服务端操作


web01端操作


4.1.3backup服务器环境搭建
同理
安装所有软件
![]()
vim /etc/rsyncd.conf进入

-
安装Centos7.9系统,替换yum源,连接xshell,过程略
-
关闭防火墙和selinux,设置主机名
-
设置静态ip
-
修改rsync配置文件
-
根据配置文件设置
完成 rsync 运行账号、备份目录、后台服务、虚拟认证密码的全套初始化配置

4.2配置备份脚本
4.2.1配置web01客户端本地备份脚本
-
web01客户端主机需要打包备份的内容:

还有定时任务和备份脚本源文件
:/var/spool/cron/root、/etc/rc.local、/server/scripts
-
编写备份web01服务器的脚本

vim /server/scripts/backup.sh进入编写


-
测试

4.2.2配置nfs01客户端本地备份脚本
-
nfs01客户端主机需要打包备份的内容:

以及/var/log/message文件、mount -l 挂载信息
-
编写备份nfs01服务器的脚本

vim /server/scripts/backup.sh进入编写


-
测试

在backup服务器中

4.3配置定时任务
-
web01服务器编辑定时任务,实现每天00:00定时备份本地数据,并推送到Rsync服务器上

![]()
-
nfs01服务器过程同上
-
backup服务器编写脚本,实现删除180天前的所有备份数据,但保存每周一的


-
backup服务器配置定时任务,实现服务端180天前数据自动删除

![]()
4.4数据传输完整性验证与监控告警
4.4.1验证数据完整性
-
backup服务端针对客户端备份时的md5指纹数据,利用MD5命令进行验证,完成数据传输过程完整性验证。
vim send_mail.sh 进入编写

4.4.2配置邮件告警
-
配置qq邮箱ssl证书

-
配置邮件服务
vim /etc/mail.rc进入在最后一行添加以下内容

-
测试邮件服务


![]()

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)