今天这个备份分二个版本一个是linux上直接安装的mysql,另一种是docker上安装的mysql。基本操作都一样只是备份sql语句不同而已。可以选择设置需要备份的库,自动备份压缩,自动删除 7 天前的备份,需要使用 crontab 定时执行。

  • 创建一个mysql.sh文件

    • docker版本
    #!/bin/bash
    databases=($(docker exec mysql mysql -uUSER -pPASSWORD -e "show database"))
    
    • linux版本
    #!/bin/bash
    databases=($(/bin/nice -n 19 /usr/bin/mysql-uUSER -pPASSWORD -e "show database"))
    
  • 备份文件要保存的目录

    basepath='/usr/local/mysql/'if [ ! -d "$basepath" ]; thenmkdir -p "$basepath"fi
    
  • 循环databases数组

    for db in ${databases[*]}do
    
  • 每个数据库文件夹

    if [ ! -d "$basepath$db" ]; thenmkdir -p "$basepath$db"fi
    
  • 备份数据库生成SQL(Linux)文件

    /bin/nice -n 19 /usr/bin/mysqldump -uUSER -pPASSWORD --single-transaction $db > $basepath$db/$db-$(date +%Y%m%d).sql
    
  • 备份数据库生成SQL(Docker)文件

    docker exec mysql mysqldump -uUSER -pPASSWORD --single-transaction $db > $basepath$db/$db-$(date +%Y%m%d).sql
    
  • 将生成的sql文件压缩

    /bin/nice -n 19 tar zPcf $basepath$db/$db-$(date +%Y%m%d).tar.gz $basepath$db/$db-$(date +%Y%m%d).sql
    
  • 删除7天之前的备份数据

    find $basepath$db* -mtime +7 -name '*.tar.gz' -exec rm -rf {} \;done
    
  • 删除生成的SQL文件

    rm -rf $basepath/*/*.sql
    
  • 使用crontab设置定时执行

    crontab -e
    
  • 设置为凌晨2点执行

    00 02 * * * /usr/local/mysql/mysql.sh
    

Docker(Linux)实现mysql自动备份所有数据相关推荐

  1. linux上mysql定时备份数据库数据_Linux下如何实现MySQL数据库每天定时自动备份

    在云计算的浪潮下,企业多将业务部署在云上.对于数据库中的数据,直接使用云数据库自带的备份功能实现备份,操作简单.但是云数据库备份数据的存储空间有限制,一旦超出存储量便自动关闭备份功能,运维人员往往也会 ...

  2. mysql自动备份脚本linux_一个Mysql自动备份脚本,定时备份MYSQ脚本,linux下Mysql自动备份脚本...

    本文转自:http://hi.baidu.com/visual_art/item/6713e2091b41ea33a2332a15 #!/bin/bash #This is a ShellScript ...

  3. linux中mysql自动备份操作文档_linux下mysql自动备份和自动删除文件功能实现

    1 , mysql无密码登录shell>vi ~/.my.cnf [client] host=localhost user=root password=123456 2,备份脚本#!/bin/b ...

  4. Linux系统MySQL自动备份

    1.配置自动备份环境 1.1.在data目录下新建存放备份数据的文件夹 mkdir -p /data/backup/mysql#进入backup目录创建mysql_backup.sh的脚本并且填充数据 ...

  5. mysql 自动备份数据库数据到另一台电脑上(u盘或者移动硬盘上)

    下载MySQL Tools for 5.0这个工具,连接服务器上的mysql生产数据库,然后进入界面,选择backup,设置基本的配置,选择一个保存路径,就可以实现备份,创建过程如图过程:

  6. linux删除mysql临时文件_linux下mysql自动备份数据库与自动删除临时文件_MySQL

    bitsCN.com linux下mysql自动备份数据库与自动删除临时文件 一.每日23:00自动删除临时文件 首先查看一下crontab的任务列表:crontab -l然后新建:crontab - ...

  7. linux mysql 临时文件_linux下mysql自动备份数据库与自动删除临时文件

    一.每日23:00自动删除临时文件 首先查看一下crontab的任务列表: crontab -l 然后新建: crontab -e 添加一行: 00 03 * * * rm -rf /www/cmst ...

  8. mysql在linux下备份还原,Linux下MySQL的备份与还原

    Linux下MySQL的备份与还原 1. 备份 [root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [roo ...

  9. Mysql自动备份脚本

    1.Mysql自动备份脚本 #!/bin/sh # 数据库基本信息 #数据库名称 DB_NAME="test" #用户名 DB_USER="root" #密码 ...

最新文章

  1. halcon例程讲解_跟我学机器视觉-HALCON学习例程中文详解-开关引脚测量
  2. SOAP协议 访问Webservice
  3. 今天分享下移动端rem 适配
  4. 向域管理转型所遇到的问题
  5. oracle undo数据文件坏,oracle undo数据文件损坏故障处理案例
  6. WCF学习之旅(一)---Hello World.
  7. python 怎么取对数_重新开始学习Python 第二十八天 Python 数学模块
  8. “菁客”发布《2018中国移动社交招聘趋势报告》
  9. Android之高仿墨迹天气桌面组件(AppWidgetProvider)
  10. C语言之-1与0xffffffff
  11. lua 的斗地主逻辑算法
  12. 多态性练习:定义一个基类BaseClass,从他派生出类DerivedClass。BaseClass有成员函数 fn1(),fn2()
  13. MATLAB机器人工具箱2-机器人模型建立
  14. 命名转小驼峰大驼峰中划线
  15. 阿里云服务器如何购买?三种方式可买(图文教程举例)
  16. Keras实例教程(1)
  17. 腾讯地图 多个异步script互相依赖加载问题
  18. 高斯RBF核函数中Sigma取值和SVM分离面的影响
  19. IDEA原先有项目怎么再导入maven项目
  20. 小学计算机软件介绍ppt,小学信息技术优秀课件

热门文章

  1. 解决 双网卡 不能上外网的问题
  2. 简历撰写技巧总结(校招生)
  3. i5 12600、i5 12500和i5 12400的区别?i5 12600、i5 12500、i5 12400/F配什么主板
  4. JavaEE-HTTP协议(一)
  5. 后农耕时代,DeFi何去何从?
  6. 熔断降级与限流在开源SpringBoot/SpringCloud微服务框架的最佳实践
  7. PM mi 小米上市会割多少韭菜?
  8. hello,boke
  9. 查看服务器用户所占空间
  10. cas14510-06-6|8-羟基喹啉-2-甲醛|8-Hydroxyquinoline-2-carbaldehyde黄色结晶粉末