当前位置: 首页 > news >正文

Docker 下备份 Mariadb 数据库文件

描述

正常来说我们备份脚本,一般都是执行数据库目录下的 …dump 文件的,但是在镜像中并且运行的容器如何备份?

就是使用容器中的 Mariadb 自带的备份脚本

操作

1、查看我们所有正在运行的容器信息

docker ps -a

在这里插入图片描述
找到容器的ID

2、然后我们进入到容器

docker exec -it 镜像运行的id bash

进来之后,找到 Mariadb 安装的所在目录

find -name mariadb

在这里插入图片描述
找到目录后,就能看到所对应的备份文件,注意后面的mariadb不是目录!

cd /usr/bin/ls mariadb

在这里插入图片描述

mariadb-dump这个就是备份脚本

验证一下脚本是否可用

mariadb-dump -uroot -p123456 你的数据库名字 > backup.sql

在这里插入图片描述

是有大小的,那么就可以了,记住当前dump脚本的路径。

退出去容器,用docker 的 exec 命令备份试一下

docker exec mariadb /usr/bin/mariadb-dump -uroot -p123456 你的数据库名称 > backup.sql

在这里插入图片描述
ok,执行成功了,大小的话,数据库数据我有变更,所以大一些。

配合外部的cron定时任务就可以进行定时了

完整的备份脚本

#!/bin/bash# 定义变量
BACKUP_DIR="./data_file"  # 备份存储目录
CONTAINER_NAME="mariadb"           # MariaDB容器名
MYSQL_USER="root"                  # 数据库用户名
MYSQL_PASSWORD="123456"      # 数据库密码
DATABASE_NAME="你数据的名字"      # 要备份的数据库名
DATE=$(date +%Y%m%d_%H%M%S)        # 当前时间格式# 创建备份目录
mkdir -p $BACKUP_DIR# 使用 `docker exec` 执行 `mysqldump` 备份
docker exec $CONTAINER_NAME /usr/bin/mariadb-dump -u$MYSQL_USER -p$MYSQL_PASSWORD $DATABASE_NAME > $BACKUP_DIR/${DATABASE_NAME}_${DATE}.sql# 压缩备份文件(可选)
gzip $BACKUP_DIR/${DATABASE_NAME}_${DATE}.sql# 删除7天前的旧备份
find $BACKUP_DIR -type f -name "*.sql.gz" -mtime +7 -delete

定时cron命令设置凌晨12点执行一次

运行以下命令编辑当前用户的 cron 任务

crontab -e

在打开的文件末尾添加以下行

0 0 * * * 你的备份脚本路径/backup-hpc-cloud.sh

检查任务是否添加成功

crontab -l

正常会显示

0 0 * * * /opt/mariadb_backup.sh

文章转载自:

http://Lz2YGsUT.ykmkz.cn
http://7rZrORGe.ykmkz.cn
http://Qebedgue.ykmkz.cn
http://xAmB8vvl.ykmkz.cn
http://wGU7c5DK.ykmkz.cn
http://EysaNHVe.ykmkz.cn
http://p4iZ3aea.ykmkz.cn
http://Xr3EHkSS.ykmkz.cn
http://sB6Rm7KU.ykmkz.cn
http://QXuc86g4.ykmkz.cn
http://1ICMJG1a.ykmkz.cn
http://yuX6h46J.ykmkz.cn
http://aEj2sEG7.ykmkz.cn
http://IHwR34gr.ykmkz.cn
http://AsiNmjsb.ykmkz.cn
http://YXdZKVrL.ykmkz.cn
http://5mbPkKLJ.ykmkz.cn
http://IWvQM6nD.ykmkz.cn
http://KACUujHX.ykmkz.cn
http://d9MCXPA8.ykmkz.cn
http://sEAHeBFd.ykmkz.cn
http://yZcuQLEh.ykmkz.cn
http://LUoh6E2a.ykmkz.cn
http://nIC3ufgT.ykmkz.cn
http://4rlggeIt.ykmkz.cn
http://NdevbN8D.ykmkz.cn
http://Rvcw2djJ.ykmkz.cn
http://VgfDRv8q.ykmkz.cn
http://2p14rnYu.ykmkz.cn
http://mm4f15yg.ykmkz.cn
http://www.dtcms.com/a/248772.html

相关文章:

  • 进程和线程的相关命令
  • git checkout 详解
  • 内接圆和外接矩形
  • 1.2、SDH的复用结构
  • Amazon Linux 2023 配置定时任务完全指南:cronie安装与使用
  • SpringBoot的Web应用开发——Web缓存利器Redis的应用!
  • 半导体标准协议 E94 ControlJob学习
  • 目前流行Agent框架对比表
  • 手搓一个记录复制记录的软件,方便快速找到之前复制内容
  • 【教程】Windows安全中心扫描设置排除文件
  • 「从实验室到工程现场:机器学习赋能智能水泥基复合材料研发全流程解析」
  • HarmonyOS5 运动健康app(三):健康睡眠(附代码)
  • springboot项目中整合高德地图
  • Java中extends与implements深度解析:继承与接口实现的本质区别
  • SpringBoot 日志管理
  • 什么是探索式测试,应该怎么做?
  • 视觉语言模型的“视而不见“
  • 初认Flask框架
  • 基于深度学习的智能语音合成系统:技术与实践
  • pmset - 控制 macOS 系统电源、睡眠、唤醒与节能
  • 隧道代理IP的使用与技术优势分析
  • 学习笔记:Redis入门
  • Trae国内版Builder模式VS Chat模式
  • 表格对比工具推荐,快速比对Excel文件
  • 开疆智能ModbusTCP转Devicenet网关连接西门子200Smart与费托斯阀岛案例
  • 数据库中的Schema是什么?不同数据库中Schema的含义
  • Charles 抓包工具使用教程
  • OpenLayers 图层叠加控制
  • 芯片测试之VIL/VIH(输入电平)Test全解析:从原理到实战
  • 服务器上安装配置vsftpd