定时备份Docker中的MySQL数据库

Posted 无尽函数

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了定时备份Docker中的MySQL数据库相关的知识,希望对你有一定的参考价值。

  1. 新建脚本 mysql_bak.sh

    # mysql 为docker中的mysql容器名
    #!/bin/bash
    docker_name=mysql
    data_dir="/opt/docker/mysql/backup/"
    docker exec -i $docker_name mysqldump -uroot -ppassword --all-databases > "$data_dir/bak_`date +%Y%m%d%H%M%S`.sql"
    # 删除14天以前的备份
    find $data_dir -mtime +14 -name \'bak_*.sql\' -exec rm -rf  \\;
    

    可以使用sh mysql_bak.sh来测试一下,看看备份文件有没有打印到 /opt/docker/mysql/backup/ 目录下

  2. 使用 crontab 创建自动备份定时任务

    crontab -e
    
    # 每天凌晨3点半定时备份Docker中的MySQL
    30 3 * * * sh ~/mysql_bak.sh > /opt/docker/mysql/logs/mysql_bak.log 2>&1
    

    做完这些,按下 Esc, 输入 :wq保存即可

以上是关于定时备份Docker中的MySQL数据库的主要内容,如果未能解决你的问题,请参考以下文章

定时备份docker部署的mysql数据

mysql每天定时自动全库备份灾备docker

docker快速搭建mysql容器定时备份数据到磁盘

Docker mysql定时备份

sh 使用定时文件名备份docker里面的mysql

定期从Docker上部署的MySQL备份数据