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

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

项目背景知识

总体需求
   某企业里有一台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. 测试邮件服务

在这里插入图片描述
在这里插入图片描述

项目完成!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/76033.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

stm32+esp8266+机智云手机app

现在很多大学嵌入式毕设都要求云端控制,本文章就教一下大家如何使用esp8266去连接机智云的app去进行显示stm32的外设传感器数据啊,控制一些外设啊等。 因为本文章主要教大家如何移植机智云的代码到自己的工程,所以前面的一些准备工作&#x…

时序数据库 TDengine Cloud 私有连接实战指南:4步实现数据安全传输与成本优化

小T导读:在物联网和工业互联网场景下,企业对高并发、低延迟的数据处理需求愈发迫切。本文将带你深入了解 TDengineCloud 如何通过全托管服务与私有连接,帮助企业实现更安全、更高效、更低成本的数据采集与传输,从架构解析到实际配…

【Java面试系列】Spring Boot中自动配置原理与自定义Starter开发实践详解 - 3-5年Java开发必备知识

【Java面试系列】Spring Boot中自动配置原理与自定义Starter开发实践详解 - 3-5年Java开发必备知识 引言 Spring Boot作为Java生态中最流行的框架之一,其自动配置机制和Starter开发是面试中的高频考点。对于3-5年经验的Java开发者来说,深入理解这些原理…

解决Spring Boot Test中的ByteBuddy类缺失问题

目录 解决Spring Boot Test中的ByteBuddy类缺失问题前奏问题描述问题解决第一步:移除ByteBuddy的特定版本号第二步:更新maven-surefire-plugin配置第三步:清理并重新构建项目 结语 解决Spring Boot Test中的ByteBuddy类缺失问题 前奏 今天&…

IntelliJ IDEA使用技巧(json字符串格式化)

文章目录 一、IDEA自动格式化json字符串二、配置/查找格式化快捷键 本文主要讲述idea中怎么将json字符串转换为JSON格式的内容并且有层级结构。 效果: 转换前: 转换后: 一、IDEA自动格式化json字符串 步骤一:首先创建一个临…

眨眼睛查看密码工具类

“眨眼睛查看密码”工具类实现思路: 一、核心功能 实现点击眼睛图标切换密码明文/星号显示,提升表单输入体验。包含以下关键功能: • 初始状态:密码框显示为星号,闭眼图标可见。 • 点击闭眼图标:切换为明…

【GPT入门】第33课 从应用场景出发,区分 TavilyAnswer 和 TavilySearchResults,代码实战

【GPT入门】第33课 从应用场景出发,区分 TavilyAnswer 和 TavilySearchResults,代码实战 1. 区别应用场景 2. 代码使用3.代码执行效果 在langchain_community.tools.tavily_search中,TavilyAnswer和TavilySearchResults有以下区别和应用场景&…

【Java设计模式】第10章 外观模式讲解

10. 外观模式 10.1 外观模式讲解 定义:为子系统提供统一接口,简化调用。类型:结构型模式适用场景: 子系统复杂需简化调用分层系统需统一入口优点: 降低耦合符合迪米特法则(最少知道原则)缺点: 扩展子系统需修改外观类,违反开闭原则10.2 外观模式 Coding // 子系统:…

Dubbo的简单介绍

Dubbo的简单介绍 Dubbo 是一个高性能的 Java RPC 框架,最初由阿里巴巴开发,用于构建分布式服务。它主要用于提供服务间的通信,支持高效的远程调用和服务治理,常用于大规模分布式系统中。Dubbo 提供了以下几个核心功能&#xff1a…

每日一题(小白)数组娱乐篇17

对一个数组进行接收进行操作后输出。输入三个操作数abc,将数组下标a到b的数字加上c;输入四个操作数abcd,将下标c到d的数字复制到a到b,可以借用一个中间量数组实现;两个操作数ab,将数组下标a到b的数字加和输…

总结一下常见的EasyExcel面试题

说一下你了解的POI和EasyExcel POI(Poor Obfuscation Implementation):它是 Apache 软件基金会的一个开源项目,为 Java 程序提供了读写 Microsoft Office 格式文件的功能,支持如 Excel、Word、PowerPoint 等多种文件格…

01-Redis-基础

1 redis诞生历程 redis的作者笔名叫做antirez,2008年的时候他做了一个记录网站访问情况的系统,比如每天有多少个用户,多少个页面被浏览,访客的IP、操作系统、浏览器、使用的搜索关键词等等(跟百度统计、CNZZ功能一样)。最开始存储…

在 Ubuntu 上离线安装 Prometheus 和 Grafana

在 Ubuntu 上离线安装 Prometheus 和 Grafana 的步骤如下: 一.安装验证 二.安装步骤 1.准备离线安装包 在一台可以访问互联网的机器上下载 Prometheus 和 Grafana 的二进制文件。 Prometheus 下载地址:Prometheus 官方下载页面Grafana 下载地址:Grafana 官方下载页面下载所…

mapbox基础,加载ESRI OpenStreetMap开放街景标准风格矢量图

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.1 ☘️mapboxgl.Map style属性二、🍀加载ESRI OpenStreetMap开放街景标准风…

Java 集合有序性与重复性总结及记忆技巧

Java 集合有序性与重复性总结及记忆技巧 一、集合分类速查表 集合类型是否有序是否允许重复记忆口诀ArrayList✅ 有序(插入顺序)✅ 可重复"数组列表,顺序记牢"LinkedList✅ 有序(插入顺序)✅ 可重复"…

记录学习的第二十三天

老样子,每日一题开胃。 我一开始还想着暴力解一下试试呢,结果不太行😂 接着两道动态规划。 这道题我本来是想用最长递增子序列来做的,不过实在是太麻烦了,实在做不下去了。 然后看了题解,发现可以倒着数。 …

MTK-Android12-13 屏幕永不休眠功能实现

MTK-Android12-13 屏幕永不休眠功能实现 文章目录 需求场景参考资料修改文件简要分析实现方案默认休眠时间设置 def_screen_off_timeout息屏时间添加永不休眠 screen_timeout_entries更新休眠时间 updateUserActivitySummaryLocked 总结 需求 屏幕永不休眠功能 备注&#xff…

Lua 中,`math.random` 的详细用法

在 Lua 中&#xff0c;math.random 是用于生成伪随机数的核心函数。以下是其详细用法、注意事项及常见问题的解决方案&#xff1a; Lua 中&#xff0c;math.random 的详细用法—目录 一、基础用法1. 生成随机浮点数&#xff08;0 ≤ x < 1&#xff09;2. 生成指定范围的随机…

HOW - React Error Catch 机制

目录 1. 错误边界&#xff08;Error Boundaries&#xff09;使用场景写法&#xff08;类组件方式&#xff09;&#xff1a;componentDidCatch 2. 事件处理器中的错误3. 异步函数中的错误&#xff08;如 fetch、Promise&#xff09;4. 全局未捕获错误&#xff08;适用于整个 Rea…

1.ElasticSearch-入门基础操作

一、介绍 The Elastic Stack 包含ElasticSearch、Kibana、Beats、LogStash 这就是所说的ELK 能够安全可靠地获取任何来源、任何格式的数据&#xff0c;然后实时地对数据进行搜索、分析和可视化。Elaticsearch,简称为ES&#xff0c;ES是一个开源的高扩展的分布式全文搜索引擎,是…