备份docker部署的数据库

#!/bin/bash

#7天前
Sevendays_ago=$(date "+%Y-%m-%d" -d '7 day ago')
#当前时间
timea=`echo $(date "+%Y-%m-%d-%R")`
#当天时间
timeb=`echo $(date "+%Y-%m-%d")`

mkdir -p /mysqlbackup/${timeb}

docker exec mysql sh -c 'exec mysqldump --all-databases -uroot -p123.yichen' > /mysqlbackup/${timeb}/${timea}.sql


rm -rf /mysqlbackup/${Sevendays_ago}*  >>/dev/null

设置定时任务每隔3小时的00分执行

00 */3 * * * /root/mysqlbackup.sh

数据库的恢复

1 使用docker cp 命令 复制.sql文件到容器中的目录

  docker cp /mysqlbackup/当前备份日期/最新时间mysqlall.sql mysql:/tmp/

docker exec mysql bash -c ' exec mysql -uroot -p123.yichen < /tmp/最新时间mysqlall.sql'

或 2,进入容器内部,导入sql文件到数据库

  docker exec -it 容器名 bash

  mysql -uroot -ppassword

  use database_name;

  source /tmp/最新时间mysqlall.sql;

  show tables;

Last modification:December 31st, 2019 at 07:43 pm
如果觉得我的文章对你有用,请随意赞赏