实现Linux系统Docker容器MySQL数据库定时备份

1、创建backup.sh脚本文件

2、编辑脚本文件示例如下:

#!/bin/bash

#data_dir为数据库备份文件存放目录

data_dir="/data/backup/"

#判断是否存在目录,不存在创建

if [ ! -d $data_dir  ];then

  mkdir -p $data_dir

else

  echo dir exist

fi

#server_mysql_1 为MySQL数据库的docker的容器名称,使用容器ID也可以;demo为数据库名称

docker exec server_mysql_1 mysqldump -u数据库名 -p数据库密码 demo > "$data_dir/demo_`date +%Y%m%d`.sql"

#删除30天以前的备份sql文件

find $data_dir -mtime +30 -name '*.sql' -exec rm -rf {} \;

完整示例:

#!/bin/bash

data_dir="/data/backup/"

if [ ! -d $data_dir  ];then

  mkdir $data_dir

else

  echo dir exist

fi

docker exec server_mysql_1 mysqldump -uroot -p123456 demo > "$data_dir/demo_`date +%Y%m%d`.sql"

find $data_dir -mtime +30 -name '*.sql' -exec rm -rf {} \;

3、设置定时任务

#新建定时任务命令

crontab -e

进入编辑添加定时任务(每天凌晨一点执行):

0 1 * * * sh /server/backup.sh

备注:/server/backup.sh 定时执行的脚本路径

编辑完成,保存退出

#查看定时任务命令

crontab -l

你可能感兴趣的:(实现Linux系统Docker容器MySQL数据库定时备份)