hj_docker容器mysql数据备份
2022/6/18 2:50:24
本文主要是介绍hj_docker容器mysql数据备份,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1 在某个目录下 建一个 .sh 脚本文件,内容可参照如下
# 定义变量 echo "begin backup mysql..." #打印信息 FILE_NAME=$(date "+%Y%m%d%H%M%S.sql") #导出文件名 FILE_PATH="/home/${FILE_NAME}" #导出路径 容器里面的 CONTAINER_NAME=mysql_8.0.27 #容器名称 ROOT_PASS=horus0530 #mysql root 密码 MYSQL_BACKUP_FOLDER=/horus/sql_backups/ #服务器目录,放置导出的sql文件 #执行备份,此处不要加-it,否则会报“the input device is not a TTY”错误(脚本后台运行没有可交互终端) echo "begin exec in mysql..." podman exec ${CONTAINER_NAME} bash -c "mysqldump -uroot -p${ROOT_PASS} -A > ${FILE_PATH}" #复制备份文件 echo "begin copy mysql file..." podman cp ${CONTAINER_NAME}:${FILE_PATH} $MYSQL_BACKUP_FOLDER #删除docker内备份文件 echo "begin rm docker mysql file..." podman exec ${CONTAINER_NAME} bash -c "rm ${FILE_PATH}" #压缩文件 echo "begin tar mysql file..." cd $MYSQL_BACKUP_FOLDER tar -zcvf "${FILE_NAME}.tgz" $FILE_NAME echo "begin rm mysql file..." rm $FILE_NAME #保留最新30个备份文件,其他删除 echo "begin ls rm mysql file..." ls -lt | awk '{if(NR>31){print "rm "$9}}' | sh echo "over..."
直接执行此 .sh 脚本 可以导出数据.
2 建立服务器的定时任务 跑此脚本
- crontab -l 查看定时任务 crontab -e 编辑脚本
-
# 三分钟执行一次 测试用例 */3 * * * * /horus/sh/backupSql.sh # 一小时执行一次 没必要 0 */1 * * * /horus/sh/backupSql.sh # 每天的凌晨两点执行一次 0 2 * * * /horus/sh/backupSql.sh # 每周五的凌晨三点执行一次 0 3 * * 5 /horus/sh/backupSql.sh
over
这篇关于hj_docker容器mysql数据备份的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-20部署MySQL集群入门:新手必读指南
- 2024-11-20部署MySQL集群教程:初学者指南
- 2024-11-20部署MySQL集群项目实战:新手教程
- 2024-11-20部署MySQL集群资料:新手入门教程
- 2024-11-20MySQL集群部署教程:入门级详解
- 2024-11-20MySQL集群教程:入门与实践指南
- 2024-11-20部署MySQL集群教程:新手入门指南
- 2024-11-20MySQL读写分离教程:轻松入门
- 2024-11-20部署MySQL集群入门:一步一步搭建你的数据库集群
- 2024-11-19部署MySQL集群学习:入门教程