当前位置: 首页 > news >正文

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

【项目需求】

      某企业里有一台Web服务器,里面的数据很重要,但是如果硬盘坏了数据就会丢失,现在领导要求把数据做备份,这样Web服务器数据丢失在可以进行恢复

要求如下:

(1)每天00点整在Web服务器上按日期打包备份系统配置文件、网站程序目录及访问日志文件

(2)通过rsync命令推送到备份服务器上保存

(3)备份服务器定时清除旧记录

(4)搭建邮件告警平台

备份内容:

(1)定时任务服务配置文件:/var/spool/cron/root

(2)开机自启动配置文件:/etc/rc.local

(3)日常脚本目录:/server/scripts

(4)web服务网站和目录:/www/

(5)web服务器访问日志路径:

【项目环境】

1.项目拓扑结构

2.软硬件环境清单

需要3台服务器主机,主机名分别为web01、nfs01、backup

【环境搭建】

(1)Web服务器搭建部署

  • 验证Rsync服务能否推送成功

  • 开发脚本实现打包备份、推送、校验、删除

  • 配置定时任务每天0点定时推送(0时是时间的一个分割点)

(2)NFS服务器搭建部署

  • 验证Rsync服务能否推送成功。

  • 开发脚本实现打包备份、推送、校验、删除。

  • 配置定时任务每天0点定时推送(0时是时间的一个分隔点)。

  • 配置脚本和web服务器类似,过程略。

(3)搭建备份服务器

  • rsync服务器搭建部署。

  • 开发脚本实现校验、删除、报警。

  • 配置实时任务每天6点实时执行。

  • 配置告警邮件发送平台

具体流程如下:

1.创建虚拟机

2.三台虚拟机同时连接xshell

3.环境搭建

3.1web01服务器环境搭建

(1)替换yum源

(2)修改主机名

(3)关闭防火墙

(4)关闭selinx

(5)设置静态ip

(6)安装所需软件

3.2nfs01服务器环境搭建

步骤同上述web01服务器环境搭建相同

安装所需软件

3.3backup服务器环境搭建

步骤同上述web01服务器环境搭建相同

安装所需软件

4.web01端部署网站

4.1下载EPEL仓库配置文件

4.2安装nginx

4.3创建存放网站目录/www,通过xftp将网站文件移至linux/www下

4.4编辑nginx配置文件

4.5重启nginx服务

4.6测试

5.nfs01端部署共享存储

5.1安装nfs-utils、rpcbind

5.2创建共享目录、修改目录权限为777

5.3编辑nfs配置文件

5.4启动rpcbind、nfs服务

5.5测试-定位web01客户端-查看nfs01服务端共享的目录

5.6创建挂载目录/web_nfs

5.7将nfs01端共享目录挂载到客户端/web_nfs

5.8设置永久挂载

6.定位backup端

6.1编辑rsync配置文件

 6.2根据配置文件设置

            6.2.1创建rsync账户

            6.2.2创建备份目录/backup并设置目录属主为rsync

            6.2.3启动rsync服务并设置开机启动

            6.2.4查看rsync进程

            6.2.5创建rsync账户的密码文件并赋予权限为600

(服务端密码验证文件格式为账户:账户密码)

7.配置备份脚本

7.1配置web01客户端本地备份脚本

(1)创建备份目录及备份web01服务器的脚本

(2)编辑备份脚本

(3)客户端创建认证的密码文件并修改权限为600

(4)执行脚本

7.2配置nfs01端本地备份脚本

(1)创建备份目录及备份nfs01服务器的脚本

(2)客户端创建认证的密码文件并修改权限为600

(3)执行脚本

8.配置定时任务

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

8.1web01端编辑定时任务

8.2nfs01、backup端编辑定时任务

8.3backup服务端编写脚本,实现删除180天前的所有备份数据,但保存每周一的

9.数据传输完整性验证与监控告警

9.1验证数据完整性

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

9.2配置邮件告警

(1)安装邮件服务

(2)配置qq邮箱ssl证书

(3)设置邮件服务

(4)测试邮件服务

http://www.lryc.cn/news/617211.html

相关文章:

  • P2865 [USACO06NOV] Roadblocks G
  • ListNode* dummy = new ListNode();什么意思
  • 【功能测试】软件集成测试思路策略与经验总结
  • 使用纯NumPy实现回归任务:深入理解机器学习本质
  • 小结: getSpringFactoriesInstances从 `spring.factories` 文件中加载和实例化指定类型的类
  • 一维码+二维码+字符识别
  • 关于开发面对颠覆性需求变更的思考
  • SpringBoot 实现 Excel 导入导出功能的三种实现方式
  • MySQL语句,体系结构等基础知识解析
  • 量子计算:叩响金融定价革命的大门——期权定价的范式转移
  • 【PyTorch学习笔记 - 01】 Tensors(张量)
  • MLAG双活网络妙招:BGP + 静态VRRP实现智能负载均衡
  • MATLAB实现遗传算法求解路网路由问题
  • 【FAQ】Win11创建资源不足绕开微软账号登录
  • 【数据结构入门】树
  • 2025世界机器人大会|具身智能机器人十大发展趋势
  • 人脸识别系统技术文档
  • C9800 ISSU升级
  • Netty使用CA证书实现tls双认证
  • Linux ethernet驱动移植之常见问题
  • html转成markdown(1.0.0)
  • Mybatis学习之缓存(九)
  • 文件编辑html
  • 通用 maven 私服 settings.xml 多源配置文件(多个仓库优先级配置)
  • Django配置sqllite之外的数据库
  • 爬虫与数据分析结合案例学习总结
  • Apache Ignite 核心组件:GridClosureProcessor解析
  • pom.xml父子模块配置
  • 【Maven】01 - 入门篇
  • Maven 的 module 管理