«

docker 部署的 mysql容器定时备份脚本

时间:2024-3-19 14:30     作者:Anglei     分类: 虚拟化


1.查看docker容器信息

[root@xxxt01:/root] docker ps -a
CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS              PORTS                               NAMES
ab87e7a22146        mysql                    "docker-entrypoint..."   8 days ago          Up 8 days           0.0.0.0:3306->3306/tcp, 33060/tcp   Mysql

2.编辑定时执行脚本:

vim  mysql_backup.sh

#!/bin/bash
#数据库用户
db_user="root"
#数据库密码
db_password="123456"
#备份目录
backup_dir="/backup"
#备份数据库名
backup_databases="chemex"
#容器名
container_name="Mysql"
#时间戳
DATE=`date +"%Y%m%d%H%M"`
#判断目录是否存在,不在则创建
if [ ! -d $backup_dir ];then
   mkdir $backup_dir
fi
#执行数据库备份
docker exec  $container_name  /usr/bin/mysqldump -u$db_user -p$db_password $backup_databases >/$backup_dir/db_chemex_backup+$DATE.sql

mysqldump必须使用绝对路径;
如果不知道路径可以使用:whereis mysqldump 来查询路径
docker exec后面不需要加 -it ,否则备份出来的SQL文件大小是0;

3.设置每天定时任务

crontan -e 
输入如下:
30 18 * * *  /backup/mysql_backup.sh
50 23 * * *  find /backup/ -mtime +15 -name "*.sql" -exec rm -rf {} \;

保存退出;

每天18:30分执行数据库备份脚本

每天23:50分查找目录下.sql文件,删除超过15天的文件

4.查看设置是否生效

[root@xxxt01:/root] crontab -l
30 18 * * *  bash /backup/mysql_backup.sh
50 23 * * *  find /backup/ -mtime +30 -name "*.sql" -exec rm -rf {} \;
****

本文完结,相关标签: docker 备份

 版权所有:Anglei
 文章标题:docker 部署的 mysql容器定时备份脚本
 除非注明,本站文章如未特殊说明均为 MAXADA社区知识库 原创,且版权所有,请勿用于任何商业用途。

推荐阅读:

看完后感想如何?

路过(0)

雷人(0)

握手(0)

鲜花(0)

鸡蛋(0)
分享到: