自动化备份全网服务器数据平台
项目背景知识
总体需求
某企业里有一台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. 测试邮件服务   ##### 项目完成!