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天之前的备份数据相关推荐

  1. linux里面有mysql的僵尸进程_linux 如何清理僵尸进程

    定义 In UNIX System terminology, a process that has terminated,but whose parent has not yet waited for ...

  2. 【MySQL】Linux端-实现Mysql数据定时自动备份

    Linux端-实现Mysql数据定时自动备份 创建存放备份 sql 的文件夹 备份数据尽量存放在Linux单独挂载的磁盘上,保证数据可靠性.磁盘建议使用EXT4分区格式. [root@localhos ...

  3. linux设置mysql定时任务_原创 Linux下实现Mysql定时任务备份数据

    本实例将创建目录放置于/mnt目录下,可根据具体情况放置于其他目录: cd /mnt mkdir dbback pwd /mnt/dbback 创建shell脚本 脚本名称可根据自己规范进行自定义: ...

  4. Linux系统下MySQL数据库的备份和恢复

    当我们MySQL数据库保存重要数据的时候,备份工作极为重要.本文介绍如何使用mysqldump备份和恢复数据,使用该方法,可以将数据库中的数据备份成一个文本文件,也可将备份好的数据库迁移到另一台的服务 ...

  5. linux 自动配置 mysql数据库,Linux下配置mysql数据库主从自动备份

    当网站内容越来越多的时候,数据库也变得越来越大了.如果不小心误删了,或者被攻击了,那就什么都没有了,一切归零.到现在博主也认识到了数据库的重要性,于是决定研究研究数据库的自动备份.如果你是土豪那可以直 ...

  6. 在linux下实现mysql自动备份数据

    使用的系统为CentOS,mysql版本为5.6 备份功能主要利用以下功能实现: mysql命令中的mysqldump命令 linux下脚本编写 linux下crontab定时任务的使用 首先确定你要 ...

  7. linux tar 增量备份,tar高级教程:增量备份、定时备份、网络备份

    一.概述 备份与恢复对于系统维护而言是至关重要的事情.不合理的备份与还原会让你的数据面临丢失的风险.许多用户都在丢失重要数据后才意识到这种风险.而要从这种情况恢复数据将是非常耗时并且困难的.所以我们应 ...

  8. mysql查看定时备份_mysql定时备份

    备份过程 创建备份目录 $ cd ~ $ mkdir backup $ cd backup 创建备份 Shell 脚本: vim DatabaseNameBackup.sh #!/bin/bash f ...

  9. mysql异机备份脚本_mysqldump使用rsync异地全量备份数据库

    Mysql 做了本机,同机房全量备份后,想同时做一份异地备份,考虑异地机房的网络不稳定性,使用 rsync 来同步备份的文件: 同机房异机备份,内网速度快可以使用scp,或者mysqldump备份脚本 ...

最新文章

  1. Linux下安装和使用boost库
  2. android access 腾讯地图,Android 腾讯地图 选点定位,仿微信发送位置
  3. golang中的sjson
  4. 【微信小程序】根据当前运行环境调用不同的接口地址的一些方法
  5. 笔记-信息系统安全管理-《信息安全等级保护管理办法》
  6. Matlab | 空间域水印技术:LSB(Least Significant Bit):计算峰值信噪比PSNR(matlab源代码)
  7. 全球首届“AI球球大作战:Go-Bigger多智能体决策智能挑战赛”开启
  8. 一招教你舍友学会尤克里里 | 今日最佳
  9. BZOJ #2874. 训练士兵(差分+离散化+主席树)
  10. QTCreator2.8.0+Qt Open source 4.8.5环境配置(Win7x64)
  11. JMeter(十三)-代理服务器录制脚本
  12. swift中变量的几种类型
  13. Laravel 调试利器 Laravel Debugbar 扩展包安装及使用教程
  14. mysql 一对多 join_mysql多表left join 1对多的解决办法
  15. MFC 键盘鼠标钩子
  16. CSS 函数摘抄笔记1207
  17. 如何设置文件的默认打开方式
  18. VMware虚拟机安装MAC OS原版系统,轻松体验苹果操作系统
  19. Android 服务动态发现 SPA 之 Auto Service
  20. mysql DDL 语句

热门文章

  1. iOS:多效果的CategoryView
  2. 2022年安全员-B证理论题库及模拟考试
  3. Graphite 简介
  4. Android 12.0 锁屏页面禁止下拉状态栏
  5. Windows10家庭版升级至专业版
  6. 远程连接mysql2005_数据库2005链接远程
  7. gets()和getchar()的用法
  8. 二十岁,无资本,无未来 --《意林》
  9. 职业规划以兴趣为导向,而不是盲目跟风
  10. 13_冒泡算法(附完整java代码)