自动化备份全网服务器数据平台

自动化备份全网服务器数据平台

项目背景知识

总体需求
复制代码
   某企业里有一台Web服务器,里面的数据很重要,但是如果硬盘坏了数据就会丢失,现在领导要求把数据做备份,这样Web服务器数据丢失在可以进行恢复。
 要求如下:
	1.每天00点整在Web服务器上按日期打包备份系统配置文件、网站程序目录及访问日志文件。
	2.通过rsync命令推送到备份服务器上保存。
	3.备份服务器定时清除旧记录。
	4.搭建邮件告警平台。
备份需求
复制代码
	1.所有服务器的备份目录必须都为/backup。
	2.要备份的系统配置文件包括但不限于:
	3.定时任务服务的配置文件(/var/spool/cron/root) (适合Web和NFS服务器)。
	4.开机自启动的配置文件(/etc/rc.local) (适合Web和NFS服务器)。
	5.日常脚本的目录 (/server/scripts)。
Web服务器要求
复制代码
	1.Web站点目录假定为/var/html/www,如果没有,可以先模拟创建。
	2.Web服务器访问日志路径假定为/app/logs,如果没有,可以先模拟创建。
	3.Web服务器本地保留打包后的7天备份数据即可(本地留存不能多于7天,因为数据太多硬盘会满)。
备份服务器要求
复制代码
	1.保留最近7天所有备份数据,保留6个月内每周一的所有数据副本。
	2.要按照备份数据服务器内网IP为目录名称,备份的文件按照时间、名称为文件名称。
	3.需要确保备份的数据尽量完整准确,在备份服务器上对备份的数据是否完整进行检查。
	4.备份服务器每天早晨8:00把备份成功或失败结果信息发送到系统管理员邮箱里。
项目环境
项目拓扑
软硬件环境

!!! Centos7.9的iso下载链接:https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-

DVD-2207-02.iso

项目实施步骤:

1.环境搭建

1.1web01服务器环境搭建
1.1.1.安装Centos7.9系统,替换yum源,连接xshell,过程略
1.1.2.关闭防火墙和selinux,设置主机名




1.1.3.设置静态ip


重新启动
1.1.4.安装所有软件
1.1.5.部署网站




1.1.6.配置nginx文件



如果显示wget命令报错,需要先安装wget
重启nginx之后,到浏览器输入web01ip地址测试网站是否搭建成功。

到此,web01服务器搭建完成。

1.2.nfs01服务器环境搭建
1.2.1.安装Centos7.9系统,替换yum源,连接xshell,过程略
1.2.2.关闭防火墙和s!elinux,设置主机名




1.2.3.设置静态ip



1.2.4.安装必备软件
1.2.5.部署共享存储,nfs01为服务端,web01为客户端
1.2.5.1. 在nfs01服务端操作





1.2.5.2. web01客户端操作
永久挂载


到此,nfs01服务器搭建完成。
1.3 backup服务器环境搭建
1.3.1.安装Centos7.9系统,替换yum源,连接xshell,过程略
1.3.2.关闭防火墙和selinux,设置主机名




1.3.3.设置静态ip




1.3.4. 安装需要的软件
1.3.5. 修改rsync配置文件


1.3.6. 根据配置文件设置
1.3.6.1 创建rsync账户及共享目录并修改目录属主为rsync
1.3.6.2 开机并启动服务
1.3.6.3 创建rsync虚拟账户名和密码,并赋予密码文件600权限
1.4 配置web01客户端本地备份脚本
1.4.1. web01客户端主机需要打包备份的内容:
1.4.2. 编写备份web01服务器的脚本


客户端建立认证文件的密码



测试
1.5 配置nfs01客户端本地备份脚本
1.5.1. nfs01客户端主机需要打包备份的内容:
1.5.2.编写备份nfs01服务器的脚本



测试:在backup备份服务器中可以看到推送的数据
1.6 配置定时任务
1.6.1. web01服务器编辑定时任务,实现每天00:00定时备份本地数据,并推送到Rsync服务器上
1.6.1.1 查看crond服务状态,默认已安装
注意若未安装可执行:

root@web01 \~\]# yum install crontabs ###### 1.6.1.2 编辑定时任务 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/22052d9a0c294224b6fd2faa1593f1fa.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/3bc40cbe23e148019de520669e71437b.png) ###### 若出现定时任务如下信息不用处理: no crontab for root - using an empty one crontab: installing new crontab ###### nfs01服务器过程同上 ###### backup服务器编写脚本,实现删除180天前的所有备份数据,但保存每周一的 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/9bc2c55ecfe9406db528583166d8153c.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b68062404dea477db9632935aa6f42c7.png) ###### 1.6.1.3 backup服务器配置定时任务,实现服务端180天前数据自动删除 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/63a3d59f8a5b40c2844c31c27850b19f.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/98afe53894ae47a0a35565a786f91580.png) ##### 1.7 数据传输完整性验证与监控告警 ###### 1.7.1. 验证数据完整性 ###### backup服务端针对客户端备份时的md5指纹数据,利用MD5命令进行验证,完成数据传输过程完整性验证。 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/bc5e8dd3a74a4b0a97d48944aa0da158.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0302fc0420894fc783ef487fd5d8ad03.png) ##### 1.8 配置邮件告警 ###### 1.8.1. 安装邮件服务 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/e53832b606954f6db82985088d75d550.png) ###### 1.8.2.配置qq邮箱ssl证书 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/8d9b1983ea6c478db5506bac3e66af4f.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/dacee83fbfd14981b81ec43bb01fcc5c.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/9e71373fb747479a835c029693ed960d.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/cff050eb5b494aa3a721e5d419cd6604.png) ###### 1.8.3. 配置邮件服务 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f5cd61ab548a4ab49bd0f01735158dcf.png) ###### 在最后一行添加如下内容 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/85f4034a1250470492f6773a3fba8b50.png) ###### 1.8.4. 测试邮件服务 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/e142e386263a42a583468b268aae7bb7.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/ece3680397f140de8c5e11f23799b86b.png) ##### 项目完成!

相关推荐
the_nov24 分钟前
19.TCP相关实验
linux·服务器·网络·c++·tcp/ip
uhakadotcom36 分钟前
Mars与PyODPS DataFrame:功能、区别和使用场景
后端·面试·github
uhakadotcom40 分钟前
PyTorch 分布式训练入门指南
算法·面试·github
uhakadotcom44 分钟前
PyTorch 与 Amazon SageMaker 配合使用:基础知识与实践
算法·面试·github
uhakadotcom1 小时前
在Google Cloud上使用PyTorch:如何在Vertex AI上训练和调优PyTorch模型
算法·面试·github
Y淑滢潇潇1 小时前
RHCSA Linux 系统创建文件
linux·运维·服务器
XYN612 小时前
【嵌入式学习3】基于python的tcp客户端、服务器
服务器·开发语言·网络·笔记·python·学习·tcp/ip
the_nov2 小时前
20.IP协议
linux·服务器·网络·c++·tcp/ip
mortimer2 小时前
5090 装机后无法使用 GPU 加速?别急,这里有解决办法!
github·gpu·nvidia
源代码•宸3 小时前
Visual Studio Code SSH 连接超时对策( keep SSH alive)
运维·服务器·ide·经验分享·vscode·ssh