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

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

项目背景知识

总体需求
复制代码
   某企业里有一台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 编辑定时任务


若出现定时任务如下信息不用处理:

no crontab for root - using an empty one

crontab: installing new crontab

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


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


1.7 数据传输完整性验证与监控告警
1.7.1. 验证数据完整性
backup服务端针对客户端备份时的md5指纹数据,利用MD5命令进行验证,完成数据传输过程完整性验证。


1.8 配置邮件告警
1.8.1. 安装邮件服务
1.8.2.配置qq邮箱ssl证书




1.8.3. 配置邮件服务
在最后一行添加如下内容
1.8.4. 测试邮件服务


项目完成!
相关推荐
DayDaydream6 小时前
7 天涨了 8000+ Star,Agent Reach 想给 AI 装上互联网眼睛
github
zzzzzz31014 小时前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
天衍四九2 天前
Git从0到实战(四):冲突解决与版本回退 —— 别怕,出错了也能救
github
大刚测试开发实战2 天前
如何内网穿透访问本地私有化部署的TestHub
前端·后端·github
uhakadotcom2 天前
在python 的 工程化架构中 ,什么是 薄包装器层?
后端·面试·github
Avan_菜菜3 天前
AI 能写代码了,为什么我反而开始要求它先写文档?
前端·github·ai编程
逛逛GitHub3 天前
这个爆红的 GitHub 项目让 token 直接省 60–95%。
github
iccb10133 天前
5年,一个程序员是如何把私有化在线客服系统做到第一名的
前端·后端·github
蝎子莱莱爱打怪3 天前
AI Agent 相关知识扫盲:16 个概念+11张图+38个开源项目推荐
人工智能·github·agent
用户317723070364 天前
Pydub:用 Python 处理音频,不写废话
github