Linux环境实现mysql所在服务器定时同步数据文件到备份服务器(异地容灾备份场景)

目录

概述

1、建立ssh连接

1.1、操作mysql所在服务器

1.2、操作备份文件服务器

2、创建脚本实现备份以及传输

3、配置定时任务


概述

应对异地容灾备份场景,mysql所在服务器和本分服务器需要建立ssh连接,每天mysql服务器通过定时任务执行脚本,同步数据到备份服务器。

1、建立ssh连接

1.1、操作mysql所在服务器

mysql所在服务器执行以下语句。

ssh-keygen -t rsa

出现提示后,一路回车。

cd 到 /root/.ssh,可以看到目录下有id_rsa.pub 文件

注:id_rsa.pub 文件内容在后面的步骤需要配置到备份服务器的配置文件中

1.2、操作备份文件服务器

备份文件服务器执行以下语句

ssh-keygen -t rsa

cd 到 /root/.ssh,编辑authorized_keys(authorized_keys文件不存在则创建该文件)

cd /root/.ssh/
vim authorized_keys

将上述步骤中mysql所在服务器的id_rsa.pub文件内容复制到当前authorized_keys文件,保存。

至此,两台服务器的ssh连接建立完成。

2、创建脚本实现备份以及传输

在mysql所在服务器创建执行脚本,这里我在data路径下创建的脚本backup.sh

vim /data/backup.sh

以下为脚本内容

#生成的sql在本服务器存放的文件夹
BACKUP=/data/backupdata
#备份服务器的备份路径
TARGETPATH=/data/backupsql
#生成sql文件名称
DATABASE=dbbackup
#命名sql文件
DATETIME=$(date +%Y%m%d%H%M)
echo "===备份开始==="
echo "打包备份文件存放于${BACKUP}/$DATABASE-$DATETIME.tar.gz"
#cd到备份文件所在目录
cd ${BACKUP}
#导出数据库备份文件
mysqldump -h ip地址 -u用户名 -p密码 --databases dacp_dev dacp_pro > ./$DATABASE-$DATETIME.sql
#打包压缩备份文件
tar -zcvf $DATABASE-$DATETIME.tar.gz $DATABASE-$DATETIME.sql
echo "===导出成功,开始传输==="
#将sql文件备份到备份服务器的备份路径(ip地址替换成备份服务器的ip地址)
scp -P 22 ${BACKUP}/$DATABASE-$DATETIME.tar.gz root@ip地址:${TARGETPATH}
#删除sql备份数据
find ${BACKUP} -name "*.sql" -exec rm -rf {} \;
#删除3天前打包压缩的备份数据
find ${BACKUP} -mtime +3 -name "*.tar.gz" -exec rm -rf {} \;
echo "===数据库备份成功==="

3、配置定时任务

在mysql所在服务器执行以下命令 crontab -e

crontab -e

配置定时任务,下面的配置是每天凌晨1点执行脚本

0 1 * * * sh /data/backup.sh

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

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

相关文章

助力燃气安全运行:智慧燃气管网背景延展

关键词:城市燃气管网、智慧燃气管网、智慧管网、智慧燃气管网解决方案、智慧燃气 01背景 当前,随着我国城市化进程不断加快,城市燃气管网也不断延伸,运行规模庞大,地下管线复杂,不少城市建设“重地上轻地…

【Proteus仿真】【Arduino单片机】DS18B20温度计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用PCF8574、LCD1602液晶、DS18B20温度传感器等。 主要功能: 系统运行后,LCD1602显示传感器采集温度。 二、软件设计 /*…

React状态管理有哪些?

在React中,有多种方式可以进行状态管理,以下是一些常见的React状态管理解决方案: 1:React Context API: React Context API 是React官方提供的一种状态管理方案。它允许你在组件树中共享状态,避免了层层传…

【深度学习环境】windows安装 NVIDIA Docker

摘要 不要安装 Docker Desktop!我们将在 Ubuntu 中自行安装 Docker。 请安装 Windows 10 Insider Build 或 Windows 11 (Beta也行)。(稳定发行版无法在 WSL 2 中使用 GPU) 请安装 WSL 2 w/Ubuntu 20.04 或同等版本。…

动态切换 Spring Boot 打包配置:使用 Maven Profiles 管理 JAR 和 WAR

引言 在多环境开发中,我们经常需要根据部署环境来改变 Spring Boot 应用的打包方式。本文将探讨如何使用 Maven Profiles 结合依赖排除来动态地切换 JAR 和 WAR 打包配置。 1. 修改 pom.xml 以支持 WAR 包 转换 Spring Boot 应用从 JAR 到 WAR 时,首先…

数据库恢复技术

事务 含义:用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位 地位:恢复和控制并发的基本单位 区分事务和程序,一个程序中包含多个事务 定义事务 事务的开始与结束…

【华为OD题库-017】矩阵稀疏扫描-Java

题目 如果矩阵中的许多系数都为零,那么该矩阵就是稀疏的。对稀疏现象有兴趣是因为它的开发可以带来巨大的计算节省,并且在许多大的实践中都会出现矩阵稀疏的问题。给定一个矩阵, 现在需要逐行和逐列地扫描矩阵,如果某一行或者某一…

[pytorch]设备选择以及卷积神经网络的应用

0.写在前面: 首先这篇文章还没写完,因为今天要尝试对我之前的一个框架做一个简单的更新迭代,所以目前先更新这么多. 1.关于设备的选择 首先,目前的大多数电脑都是自带一些GPU(图形计算单元,在这里被称之为cuda), 需要安装相关的驱动才能正常使用这些设备和调用他们的具体情况…

介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用

Docker是一种基于容器的虚拟化技术,它允许开发者将应用程序及其依赖项打包到一个轻量级容器中,然后在任何可用的开发、测试和生产环境中进行部署和运行。 下面是Docker的基本概念和优势: 容器:Docker容器是一种独立运行的软件包&a…

Rust字符串详解

文章目录 字符串切片String迭代方法基础字符串方法容量操作增删改查 字符串切片 我们所熟知的由双引号括起来的字符串,在Rust中只是个字符串切片,又叫字符串字面值。这种类型一旦创建,则不可更改。但支持索引,从切片中索引出来的…

C#中.NET 6.0控制台应用通过EF访问已建数据库

目录 一、新建.NET 6.0控制台应用并建立数据库连接 二、下载并安装EF程序包 三、自动生成EF模型和上下文 1.Blog类模型 2.Post类模型 3.数据库上下文 四、设计自己的应用 VS2022的.NET6.0、.NET7.0框架下默认支持EF7(版本号7.0.13),除…

基于XML的声明式事务

场景模拟 参考基于注解的声明式事务 修改Spring的配置文件 将Spring配置文件中去掉tx:annotation-driven标签&#xff0c;并添加配置&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org…

.net6+aspose.words导出word并转pdf

本文使用net6框架&#xff0c;aspose.word破解激活并兼容net6&#xff0c;导出word模板并兼容识别html并给其设置字体&#xff0c;前端直接浏览器下载&#xff0c;后端保存文件并返回文件流&#xff0c;还有批量导出并压缩zip功能 1、安装Aspose.Words的nuget包选择21.8.0 版本…

LeetCode //C - 191. Number of 1 Bits

191. Number of 1 Bits Write a function that takes the binary representation of an unsigned integer and returns the number of ‘1’ bits it has (also known as the Hamming weight). Note: Note that in some languages, such as Java, there is no unsigned inte…

Labview实现wav音乐播放

准备音频文件&#xff1a;将要播放的声音文件准备好&#xff0c;是.wav格式。 图形化如下&#xff1a; 内部逻辑如下&#xff1a;

如何在thingsboard的规则链中对一个遥测属性进行求平均值

背景 有这样一个需求,一个温度传感器每5秒,上传一次数据。要求算出该设备2分钟内的平均温度,如果超过某个值,则发送告警邮件。 具体操作实现 下面在规则链中实现求平均值。 使用的节点是 配置如下 必填 Timeseries keys,是要求的平均值的属性名。 我这里求的是四个…

【java】idea可以连接但看不到database相关的files

问题 idea右侧有database工具栏&#xff0c;但点击没有在recent files看到数据库相关文件 问题排查 点击 help-> show log in explorer查看日志 发现显示 2023-11-13 10:28:09,694 [1244376] INFO - #c.i.c.ComponentStoreImpl - Saving appDebuggerSettings took 22…

VB.NET三层之用户查询窗体

目录 前言: 过程: UI层代码展示: BLL层代码展示: DAL层代码展示: 查询用户效果图:​ 总结: 前言: 想要对用户进行查询&#xff0c;需要用到控件DataGrideView&#xff0c;通过代码的形式将数据库表中的数据显示在DataGrideview控件中&#xff0c;不用对DatGridView控件…

大模型需要哪种服务器

大型模型通常需要高端的服务器来支持&#xff0c;需要满足以下要求&#xff1a; 高性能的CPU&#xff1a;最好是具备多核心的CPU&#xff0c;例如Intel Xeon或AMD EPYC等服务器级处理器&#xff0c;这些处理器具备更高的计算效率和更大的缓存容量&#xff0c;加快了计算速度。 …