linux如何对mysql进行定时备份并定时清理3天之前的备份数据

article/2025/10/6 1:09:10

linux如何对mysql进行定时备份并定时清理3天之前的备份数据

一.Linux对mysql进行定时备份
1.确保Linux上是否已经安装了mysql以及crontab

安装mysql可参考:https://blog.csdn.net/m0_51285952/article/details/123371653

安装crontab可参考:https://blog.csdn.net/hukai0q/article/details/83380951

2.创建一个需要备份的目录

首先查看磁盘的空间情况:

df -h

在这里插入图片描述

由此看出 / 盘符下空间较大

在 / 盘符下创建一个需要备份的目录

cd /   #进入/目录下
mkdir copymysqldata #创建备份目录
cd /copymysqldata #进入备份目录下

在这里插入图片描述

3.将mysqldump映射到/usr/bin下 令mysqldump指令在全局条件下生效

解释:mysqldump 命令是备份数据库的命令 因此需要将mysqldump命令在全局情况下生效

注意:mysqldump在myspl的bin目录下

执行命令:

ln -fs /home/itjava/mysql/mysql-5.7/bin/mysqldump /usr/bin   #将mysqldump映射到/usr/bin

在这里插入图片描述

4.创建备份数据库脚本

进入到刚创建的备份目录下 编写脚本

cd /copymysqldata #进入到要备份的存放目录
vi bkmysqldata.sh  #编写备份脚本
#!/bin/bash
mysqldump -uroot -p123456 bl_zj | gzip > /copymysqldata/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz

在这里插入图片描述

编写后保存

5.为脚本赋予可执行权限

在这里插入图片描述

由此处可以看到刚刚编写的脚本是没有执行权限的,此时需要为此文件添加可执行权限

执行命令:

chmod u+x bkmysqldata.sh

在这里插入图片描述

6.验证备份数据库的脚本是否可以执行

执行命令:

./bkmysqldata.sh

在这里插入图片描述

7.验证备份文件是否可用

解压刚才备份的数据库文件

执行命令:

gunzip DatabaseName_20220309_212505.sql.gz  #解压备份的文件
cat DatabaseName_20220309_212505.sql  #查看数据库的备份内容

在这里插入图片描述

执行后会发现数据库的所有可执行sql 都在这个sql文件中 至此备份脚本创建成功

8.为备份脚本添加定时任务

执行 crontab -e

crontab -e      #进入定时任务的编辑器

在编辑器中写入下面语句并保存

*/1 * * * * /copymysqldata/bkmysqldata.sh

在这里插入图片描述

这里的cron表达式可去自行搜索怎么去编写,比如一天执行一次,或者每天的几点执行一次 可参考:https://cron.qqe2.com/

等一分钟之后查看备份目录是否执行了一次数据备份

在这里插入图片描述

至此linux对mysql定时备份已经完成.

二.Linux对定时清理3天之前的数据
1.在mysql备份的目录下创建清理3天之前的脚本

执行:

cd /copymysqldata  #进入到备份目录下
vi clear.sh        #编辑清理3天之前脚本
#!/bin/sh
find /copymysqldata/ -mtime +4 -name "*.sql.gz" -exec rm -rf {} \;

在这里插入图片描述

2.为清理脚本赋予可执行权限

执行:

chmod u+x clear.sh   #为clear.sh添加可执行权限
./clear.sh           #执行脚本看有没有出错

在这里插入图片描述

3.为清理脚本添加定时任务

执行

crontab -e    #打开定时任务编辑器

复制这段

*/1 * * * * /copymysqldata/bkmysqldata.sh  #每分钟执行一次

在这里插入图片描述

最后保存 至此所有脚本编写完毕可以顺利的进行定时备份数据库并清除3天之前备份的数据库


http://chatgpt.dhexx.cn/article/x73ORsDb.shtml

相关文章

docker定时备份mysql-定时备份docker中mysql的数据

一、概念 方法一:备份是通过如下命令实现 docker exec -it mysql(镜像号) mysqldump -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password -B test1(数据库名称)(中间是有一个空格的&#xff0…

Windows系统下如何定时备份MySQL数据库

Windows系统下如何定时备份MySQL数据库 使用mysqldump备份sql文件 假设mysql环境 MySQL安装位置 D:\mysql\mysql-5.7.30-winx64需要备份的数据库名称 springMySQL数据库账号 rootMySQL数据库密码 123456数据库备份地址 D:/mysqlBackup/ 则脚本按照下面写法: echo of…

mysql设置定时备份

不管是什么类型的数据库,我们都需要定时的备份,以便在出问题时可以及时恢复,减少损失。sqlserver的备份很简单,sqlserver自带,这里主要给大家分享下mysql的自动备份如何设置。 1.工具:navicat2.数据库:mys…

【数据库】定时备份mysql数据库

目录 一、创建放备份的目录二、编写脚本三、创建软链接四、赋予该脚本可执行权限五、测试脚本是否能正常执行六、进入备份文件夹查看是否正常备份七、安装cron服务八、创建定时备份任务 一、创建放备份的目录 cd / 进入根目录 mkdir backup 创建备份…

Mysql数据库每天定时备份

1.先检查安装crontabs yum install crontabs 2.在home目录下指定路径新建文件夹 3.新建执行脚本,在里面写入命令 touch mysql_backup.sh shell脚本如下: #!/bin/bash #保存备份个数,备份14天数据 number14 #备份保存路径 backup_dir/home/tjgeo/bac…

Mysql定时备份

linux下如何实现mysql数据库每天定时自动备份 由于客户要求,需要将数据库进行每天定时自动备份,所以网上找了各种方式就行了测试,遇到很多坑,特此记录下来,步骤是东拼西凑的,虽然也是网上找的,…

Windows下 mysql定时备份

** 使用mysqldump进行数据库备份 ** mysql数据库自带备份命令mysqldump,可对数据库进行备份操作 最简单的备份是将数据库备份至本地,生成 **.sql文件 编写备份脚本文件 (创建一个txt文件,写入批处理脚本,再将文件的后缀改为.ba…

MySQL定时备份数据库(全库备份)

MySQL定时备份数据库(全库备份) 一、MySQL数据备份 1.1、 mysqldump命令备份数据 在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump,首先我们简单了解一下mysqldump命令用法: …

mysql定时自动备份数据库

我们都知道数据是无价,如果不对数据进行备份,相当是让数据在裸跑,一旦服务器出问题,只有哭的份了。下面将介绍mysql数据库的自动备份,大家可根据情况自行选择将备份数据存放在哪里。 第一种,数据跑在服务器…

windows系统mysql定时备份

一.介绍 本文章主要介绍了windows系统下如何创建mysql定时备份任务,目的:一是数据无价,一旦数据丢失,功亏一篑;而是将重复性的工作交给机器来做,省去人工处理成本。 二.创建bat任务脚本 1.新建txt文档 2.打…

MySQL 定时备份数据库(非常全)

一. mysqldump命令备份数据 在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump,首先我们简单了解一下mysqldump命令用法: #MySQLdump常用 mysqldump -u root -p --databases 数据库1 数据库2 > xxx.s…

实战-MySQL定时增量备份(2)

阅读本文大约需要 9 分钟 实战-MySQL定时全量备份(1) 实战-MySQL定时增量备份(2) 实战-将MySQL备份上传到私有云(3) 概要 引言 增量备份 恢复增量备份 定时备份 引言 在产品上线之后,我们的数据是相当重要的&…

MySQL 数据库定时备份

1.编写BASH维护固定数量备份文件 在Linux中,使用vi或者vim编写脚本内容并命名为:mysql_dumps.sh #!/bin/bash #保存备份个数,备份31天数据 number31 #备份保存路径 backup_dir/root/mysqlbackup #日期 dddate %Y-%m-%d-%H-%M-%S #备份工具 …

Linux定时备份MySQL

Linux定时备份MySQL 1.备份脚本2.赋予脚本执行权限3.添加定时任务4. crontab定时任务表达式5. 常见问题6. linux软连接7.参考链接: 阅读本文您将了解到: 定时备份数据库linux定时任务crontab定时任务表达式shell脚本变量命名规则linux 软连接的使用vim使用技巧 1.备份脚本 用vi…

MySQL 如何定时备份数据库

目录 1.mysqldump命令备份数据 2.mysqldump常用操作示例 2.1. 备份全部数据库的数据和结构 2.2.备份全部数据库的结构(加 -d 参数) 2.3. 备份全部数据库的数据(加 -t 参数) 2.4.备份单个数据库的数据和结构(,数据库名mydb) 2.5. 备份单个数据库的…

MySQL 定时备份数据库(非常全),值得收藏!

在操作数据过程中,可能会导致数据错误,甚至数据库奔溃,而有效的定时备份能很好地保护数据库。本篇文章主要讲述了几种方法进行 MySQL 定时备份数据库。 一. mysqldump命令备份数据 在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工…

mysql数据库定时备份

1 环境检查 1. 执行本手册前,请正确安装Mysql数据库,并知晓数据库用户名和密码; 2. 执行本手册前,请先确定Mysql数据库数据要储存的天数;默认30 2 批处理文件配置 当前步骤主要实现以下目标配置: 配置…

mysql实现定时备份

1、编写脚本xxx.bat echo off echo 设置MySql数据库的连接信息 set host127.0.0.1 set port3306 set userroot set pass123456 echo 设置要备份MySql数据库名称 set dbnameprojectmonitoring echo 获取当天的日期格式,例如:2022-12-13-14-30-40set back…

MySQL数据库定期自动备份(定时任务)

一、脚本备份; 1、新建一个backupDB.txt文件,然后通过重命名修改文件后缀为.bat,将 backupDB.bat 放置在 D:/mysql5.7目录下,文件内容如下: echo off set h%time:~0,2% set h%h: 0% set hhmiss%date:~0,4%%date:~5,2…

【Axure】Axure RP 9 下载、短期试用破解安装和汉化步骤 —— 可供安装参考,短期试用,目前授权码已逐渐失效

目录 一、Axure RP 9 下载 二、Axure RP 9 安装 三、Axure RP 9 破解 四、Axure RP 9 汉化 一、Axure RP 9 下载 (1)最新版本 Axure RP 9 下载地址(Mac & window):点击前往下载 (2)汉化…