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

MySQL定时异机备份

场景:将A机器MySQL数据库部分表每日定时备份到B机器上 (只适用于Linux)
实现方式算是比简单了,就是用mysqldump生成文件,使用scp命令传输到另一台机器上。

1. 编写备份shell脚本

在A机器新建脚本
(当然没有vim的话vi命令也可以)

vim backupAndUpload.sh
#!/bin/bash# 定义变量,见名知意,不做解释
SOURCE_DB_USER="root"
SOURCE_DB_PASSWORD="123"
SOURCE_DB_NAME="aaa"
TABLES=("tb1" "tb2" "tb3" "tb4" "tb5" "tb6")
BACKUP_FILE="/home/app/data-backup/aaa.sql"
REMOTE_USER="root"
REMOTE_PORT="22"
REMOTE_HOST="192.168.2.222"
REMOTE_PATH="/home/app/data-backup"
LOG_FILE="/home/app/data-backup/out.log"# 记录日志函数
log() {local message="$1"echo "$(date '+%Y-%m-%d %H:%M:%S') - $message" | tee -a $LOG_FILE
}# 生成备份文件
log "开始备份数据库..."
mysqldump -u${SOURCE_DB_USER} -p${SOURCE_DB_PASSWORD} ${SOURCE_DB_NAME} ${TABLES[@]} --single-transaction > ${BACKUP_FILE}# 检查备份是否成功
if [ $? -eq 0 ]; thenlog "备份成功,开始上传文件..."# 使用scp上传备份文件scp -P ${REMOTE_PORT} ${BACKUP_FILE} ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_PATH}# 检查上传是否成功if [ $? -eq 0 ]; thenlog "文件上传成功"elselog "文件上传失败"fi
elselog "备份失败"
fi

解析:

  1. 定义变量:脚本中定义了数据库用户、密码、数据库名称、表名列表、备份文件名、远程用户、远程主机和远程路径。
  2. 生成备份文件:使用 mysqldump 命令生成备份文件,并将指定的表导出到 BACKUP_FILE 文件中。
  3. 检查备份是否成功:通过检查 mysqldump 命令的返回值来判断备份是否成功。
  4. 上传备份文件:如果备份成功,则使用 scp 命令将备份文件上传到远程服务器的指定路径。
  5. 检查上传是否成功:通过检查 scp 命令的返回值来判断文件上传是否成功。

2.生成ssh密钥

由于scp需要交互输入密码才能传输,所以下面使用SSH 密钥认证方式

在A机器上执行以下命令生成密钥

ssh-keygen -t rsa

三次回车

在这里插入图片描述
密钥会生成在/root/.ssh/目录下(以下都是以root用户操作的所以家目录就是/root)

将A机器上的公钥id_rsa.pub复制到B机器/root/.ssh目录

在B机器执行以下命令将公钥追加到authorized_keys文件

cat id_rsa.pub >> ~/.ssh/authorized_keys

如果提示没有该文件,就在家目录建一个.ssh目录

mkdir -p ~/.ssh

3. 手动执行

上面设置好之后可以手动执行脚本看是否成功
在A机器执行

赋予脚本执行权限

chmod +x backupAndUpload.sh
./backupAndUpload.sh

在这里插入图片描述

4.设置定时执行

当然还是在A机器执行,输入下面命令进入crontab编辑

crontab -e

最后一行加入以下内容,每日凌晨01:20执行一次
(写给小白:其实就是vi编辑器 按i键输入后在按ESC键,最后后输入:wq保存)

20 1 * * * /home/app/backupAndUpload.sh

最后用下面命令查询是否保存成功

crontab -l

然后就坐等自动备份了

相关文章:

MySQL定时异机备份

场景:将A机器MySQL数据库部分表每日定时备份到B机器上 (只适用于Linux) 实现方式算是比简单了,就是用mysqldump生成文件,使用scp命令传输到另一台机器上。 1. 编写备份shell脚本 在A机器新建脚本 (当然没有vim的话vi…...

MMA: Multi-Modal Adapter for Vision-Language Models

两个观察 图1所示。各种基于transformer的CLIP模型中不同层的数据集级识别精度。这个实验是为了确定样本属于哪个数据集。我们用不同的种子运行了三次,并报告了每层识别精度的平均值和标准差。 X E m b e d XEmbed XEmbed是指变压器块之前的文本或图像嵌入层&#x…...

uniapp通过id获取div的宽度,高度,位置等(应该是 任意平台都通用 )

uniapp通过id获取div的宽度&#xff0c;高度&#xff0c;位置等&#xff08;应该是 任意平台都通用 &#xff09; <template><view class"" id"domId"></view> </template>// 如果获取的dome高度等不对&#xff0c;还需要加上延迟…...

Python Transformer 模型的基本原理:BERT 和 GPT 以及它们在情感分析中的应用

Transformer 模型的基本原理&#xff1a;BERT 和 GPT 以及它们在情感分析中的应用 近年来&#xff0c;Transformer 模型在自然语言处理&#xff08;NLP&#xff09;领域取得了巨大成功&#xff0c;为任务如翻译、生成文本、问答和情感分析带来了显著的性能提升。本文将介绍 Tr…...

【云原生】Kubernets1.29部署StorageClass-NFS作为存储类,动态创建pvc(已存在NFS服务端)

文章目录 在写redis集群搭建的时候,有提到过使用nfs做storageclass,那时候kubernetes是1.20版本,https://dongweizhen.blog.csdn.net/article/details/130651727 现在使用的是kubernetes 1.29版本,根据之前的修改方式并未生效,反而提示:Error: invalid argument "Re…...

使用 Pandas 进行时间序列分析的 10个关键点

使用Pandas进行时间序列分析的10个关键点&#xff08;由于篇幅限制&#xff0c;这里调整为10个&#xff0c;但实际操作中可能涉及更多细节&#xff09;如下&#xff1a; 1. 创建时间序列数据 时间序列数据是指在多个时间点上形成的数值序列。在Pandas中&#xff0c;可以使用t…...

使用 Mermaid 语言描述 AGI 系统架构图

使用Mermaid语言描述AGI系统架构图 一、整体架构概述 以下是一个简化的AGI&#xff08;Artificial General Intelligence&#xff0c;通用人工智能&#xff09;系统架构的Mermaid描述。该系统主要包括数据收集与预处理、模型训练、推理与决策以及交互接口等模块&#xff0c;各…...

绘制线性可分支持向量机决策边界图 代码解析

### 绘制线性可分支持向量机决策边界图 def plot_classifer(model, X, y):# 超参数边界x_min -7x_max 12y_min -12y_max -1step 0.05# meshgridxx, yy np.meshgrid(np.arange(x_min, x_max, step),np.arange(y_min, y_max, step))# 模型预测z model.predict(np.c_[xx.ra…...

No.23 笔记 | WEB安全 - 任意文件漏洞 part 5

本文全面且深入地探讨了文件上传漏洞相关知识。从基础概念出发&#xff0c;清晰地阐述了文件上传漏洞的定义及其产生的本质原因&#xff0c;同时列出了该漏洞成立的必要条件。详细说明了文件上传漏洞可能对服务器控制权、网站安全以及业务运营带来的严重危害。 文中还深入解析了…...

EasyPlayer.js网页播放器,支持FLV、HLS、WebSocket、WebRTC、H.264/H.265、MP4、ts各种音视频流播放

EasyPlayer.js功能&#xff1a; 1、支持解码H.264视频(Baseline, Main, High Profile全支持&#xff0c;支持解码B帧视频) 2、支持解码H.265视频&#xff08;flv id 12&#xff09; 3、支持解码AAC音频(LC,HE,HEv2 Profile全支持) 4、支持解码MP3音频以及Speex音频格式 5、可…...

WPF数据绑定的五大模式

WPF&#xff08;Windows Presentation Foundation&#xff09;是微软推出的一种用于构建Windows用户界面的UI框架。它支持数据绑定&#xff0c;允许开发者将UI元素与数据源绑定&#xff0c;从而实现数据和界面的自动同步。WPF数据绑定有几种不同的模式&#xff0c; 以下是五种…...

从零到一:大学新生编程入门攻略与成长指南

文章目录 每日一句正能量前言编程语言选择&#xff1a;为大学新生量身定制Python&#xff1a;简单而强大的选择JavaScript&#xff1a;Web开发的基石Java&#xff1a;面向对象的经典C#&#xff1a;微软的全能选手 学习资源推荐&#xff1a;编程学习的宝藏在线课程教程和文档书籍…...

详细分析Pytorch中的transpose基本知识(附Demo)| 对比 permute

目录 前言1. 基本知识2. Demo 前言 原先的permute推荐阅读&#xff1a;详细分析Pytorch中的permute基本知识&#xff08;附Demo&#xff09; 1. 基本知识 transpose 是 PyTorch 中用于交换张量维度的函数&#xff0c;特别是用于二维张量&#xff08;矩阵&#xff09;的转置操…...

初识WebGL

思路&#xff1a; 构建<canvas>画布节点&#xff0c;获取其的实例。使用getWebGLContext() 拿到画布上下文。拿到上下文用clearColor() 设置背景颜色。最后清空canvas画布,是为了清除颜色缓冲区。 html结构&#xff1a; <!DOCTYPE html> <html lang"en&…...

【力扣】Go语言回溯算法详细实现与方法论提炼

文章目录 一、引言二、回溯算法的核心概念三、组合问题1. LeetCode 77. 组合2. LeetCode 216. 组合总和III3. LeetCode 17. 电话号码的字母组合4. LeetCode 39. 组合总和5. LeetCode 40. 组合总和 II小结 四、分割问题6. LeetCode 131. 分割回文串7. LeetCode 93. 复原IP地址小…...

「C/C++」C/C++ 之 第三方库使用规范

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「C/C」C/C程序设计&#x1f4da;全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…...

六、元素应用CSS的习题

题目一&#xff1a; 使用CSS样式对页面元素加以修饰&#xff0c;制作“ 旅游攻略 ”网站。如下图所示 运行效果&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>旅游攻略</title><…...

正式入驻!上海斯歌BPM PaaS管理软件等产品入选华为云联营商品

近日&#xff0c;上海斯歌旗下BPM PaaS管理软件&#xff08;NBS&#xff09;等多款产品入选华为云云商店联营商品&#xff0c;上海斯歌正式成为华为云联营商品合作伙伴。用户登录华为云云商店即可采购上海斯歌的BPM PaaS产品及配套服务。通过联营模式&#xff0c;双方合作能够深…...

使用 Axios 上传大文件分片上传

背景 在上传大文件时&#xff0c;分片上传是一种常见且有效的策略。由于大文件在上传过程中可能会遇到内存溢出、网络不稳定等问题&#xff0c;分片上传可以显著提高上传的可靠性和效率。通过将大文件分割成多个小分片&#xff0c;不仅可以减少单次上传的数据量&#xff0c;降…...

Nginx+Lua脚本+Redis 实现自动封禁访问频率过高IP

1 、安装OpenResty 安装使用 OpenResty&#xff0c;这是一个集成了各种 Lua 模块的 Nginx 服务器&#xff0c;是一个以Nginx为核心同时包含很多第三方模块的Web应用服务器&#xff0c;使用Nginx的同时又能使用lua等模块实现复杂的控制。 &#xff08;1&#xff09;安装编译工具…...

AI编程协作实战:从提示工程到全周期开发工作流

1. 项目概述&#xff1a;从零开始的AI编程启蒙最近在GitHub上看到一个挺有意思的项目&#xff0c;叫jnMetaCode/ai-coding-101。光看名字&#xff0c;你大概能猜到它和AI编程有关&#xff0c;但“101”这个后缀又暗示着它的入门属性。作为一个在代码堆里摸爬滚打多年的老码农&a…...

微信单向好友检测实战:3步智能发现谁悄悄删除了你

微信单向好友检测实战&#xff1a;3步智能发现谁悄悄删除了你 【免费下载链接】WechatRealFriends 微信好友关系一键检测&#xff0c;基于微信ipad协议&#xff0c;看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFriends 你…...

AI智能体视觉(TVA)实战教程(1)

重磅预告&#xff1a;本专栏将独家连载新书《AI视觉技术&#xff1a;从入门到进阶》精华内容。本书是《AI视觉技术&#xff1a;从进阶到专家》的权威前导篇&#xff0c;特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。Bohan先生师从美国三院院士、“AI教…...

告别手动抢购!i茅台自动预约系统的完整指南

告别手动抢购&#xff01;i茅台自动预约系统的完整指南 【免费下载链接】campus-imaotai i茅台app自动预约&#xff0c;每日自动预约&#xff0c;支持docker一键部署&#xff08;本项目不提供成品&#xff0c;使用的是已淘汰的算法&#xff09; 项目地址: https://gitcode.co…...

Oracle EBS 的财务核算是以「Ledger(帐套)」为核心,绑定 COA、本位币、日历、核算方法,再配 OU(业务实体)、LE(法人);

Oracle EBS 的财务核算是以「Ledger&#xff08;帐套&#xff09;」为核心&#xff0c;绑定 COA、本位币、日历、核算方法&#xff0c;再配 OU&#xff08;业务实体&#xff09;、LE&#xff08;法人&#xff09;&#xff1b;而 SAP FICO 是「FI&#xff08;财务会计&#xff0…...

HMCL启动器社区参与指南:从新手到核心贡献者的完整路径

HMCL启动器社区参与指南&#xff1a;从新手到核心贡献者的完整路径 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL 你是否曾经遇到过游戏启动问题却不知向谁求助…...

WorkshopDL:一站式解决跨平台Steam创意工坊模组下载难题

WorkshopDL&#xff1a;一站式解决跨平台Steam创意工坊模组下载难题 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在Epic Games Store或GOG平台购买了心仪的游戏&#…...

绝巧弃利之后,ABAP 才回到可升级的常道

老子说「绝圣弃智,民利百倍;绝仁弃义,民复孝慈;绝巧弃利,盗贼无有」。这句话放到 SAP ABAP 开发里,不能理解成不要知识、不要规范、不要技巧。ABAP 项目从来离不开知识,也离不开严密的工程纪律。它真正提醒我们的是,当一个系统过度崇拜个人聪明、过度依赖补救式道德、过…...

CANN Ascend C uint32转bfloat16函数

__uint2bfloat16_rd 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://git…...

CANN/Ascend C量化模式设置API

SetDequantType 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://gitcode…...