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 {} \;
****

推荐阅读:
![]() 路过(0) |
![]() 雷人(0) |
![]() 握手(0) |
![]() 鲜花(0) |
![]() 鸡蛋(0) |