linux如何对mysql进行定时备份并定时清理3天之前的备份数据
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天之前备份的数据库
linux如何对mysql进行定时备份并定时清理3天之前的备份数据相关推荐
- linux里面有mysql的僵尸进程_linux 如何清理僵尸进程
定义 In UNIX System terminology, a process that has terminated,but whose parent has not yet waited for ...
- 【MySQL】Linux端-实现Mysql数据定时自动备份
Linux端-实现Mysql数据定时自动备份 创建存放备份 sql 的文件夹 备份数据尽量存放在Linux单独挂载的磁盘上,保证数据可靠性.磁盘建议使用EXT4分区格式. [root@localhos ...
- linux设置mysql定时任务_原创 Linux下实现Mysql定时任务备份数据
本实例将创建目录放置于/mnt目录下,可根据具体情况放置于其他目录: cd /mnt mkdir dbback pwd /mnt/dbback 创建shell脚本 脚本名称可根据自己规范进行自定义: ...
- Linux系统下MySQL数据库的备份和恢复
当我们MySQL数据库保存重要数据的时候,备份工作极为重要.本文介绍如何使用mysqldump备份和恢复数据,使用该方法,可以将数据库中的数据备份成一个文本文件,也可将备份好的数据库迁移到另一台的服务 ...
- linux 自动配置 mysql数据库,Linux下配置mysql数据库主从自动备份
当网站内容越来越多的时候,数据库也变得越来越大了.如果不小心误删了,或者被攻击了,那就什么都没有了,一切归零.到现在博主也认识到了数据库的重要性,于是决定研究研究数据库的自动备份.如果你是土豪那可以直 ...
- 在linux下实现mysql自动备份数据
使用的系统为CentOS,mysql版本为5.6 备份功能主要利用以下功能实现: mysql命令中的mysqldump命令 linux下脚本编写 linux下crontab定时任务的使用 首先确定你要 ...
- linux tar 增量备份,tar高级教程:增量备份、定时备份、网络备份
一.概述 备份与恢复对于系统维护而言是至关重要的事情.不合理的备份与还原会让你的数据面临丢失的风险.许多用户都在丢失重要数据后才意识到这种风险.而要从这种情况恢复数据将是非常耗时并且困难的.所以我们应 ...
- mysql查看定时备份_mysql定时备份
备份过程 创建备份目录 $ cd ~ $ mkdir backup $ cd backup 创建备份 Shell 脚本: vim DatabaseNameBackup.sh #!/bin/bash f ...
- mysql异机备份脚本_mysqldump使用rsync异地全量备份数据库
Mysql 做了本机,同机房全量备份后,想同时做一份异地备份,考虑异地机房的网络不稳定性,使用 rsync 来同步备份的文件: 同机房异机备份,内网速度快可以使用scp,或者mysqldump备份脚本 ...
最新文章
- Linux下安装和使用boost库
- android access 腾讯地图,Android 腾讯地图 选点定位,仿微信发送位置
- golang中的sjson
- 【微信小程序】根据当前运行环境调用不同的接口地址的一些方法
- 笔记-信息系统安全管理-《信息安全等级保护管理办法》
- Matlab | 空间域水印技术:LSB(Least Significant Bit):计算峰值信噪比PSNR(matlab源代码)
- 全球首届“AI球球大作战:Go-Bigger多智能体决策智能挑战赛”开启
- 一招教你舍友学会尤克里里 | 今日最佳
- BZOJ #2874. 训练士兵(差分+离散化+主席树)
- QTCreator2.8.0+Qt Open source 4.8.5环境配置(Win7x64)
- JMeter(十三)-代理服务器录制脚本
- swift中变量的几种类型
- Laravel 调试利器 Laravel Debugbar 扩展包安装及使用教程
- mysql 一对多 join_mysql多表left join 1对多的解决办法
- MFC 键盘鼠标钩子
- CSS 函数摘抄笔记1207
- 如何设置文件的默认打开方式
- VMware虚拟机安装MAC OS原版系统,轻松体验苹果操作系统
- Android 服务动态发现 SPA 之 Auto Service
- mysql DDL 语句