docker中minio的备份方法(两种方法)
在Docker中备份MinIO,通常有三种主流思路:直接备份Docker数据卷、通过MinIO客户端(mc)同步,以及使用高级工具如Restic。其中,使用mc进行跨集群同步是最为推荐的方法。
🔍 三种主流备份方法详解
| 特性 | 方法一:使用 mc 工具备份 (推荐) | 方法二:备份 Docker 数据卷 | 方法三:使用高级工具 (如 Restic) |
|---|---|---|---|
| 核心思路 | 将MinIO视为一个S3服务,通过其官方客户端mc,将数据从一个集群/桶同步到另一个备份位置-。 | 直接操作宿主机上的Docker数据卷,将其打包或复制到其他安全位置。 | 使用支持增量、去重和加密的专业备份工具,将数据备份到MinIO或其他S3兼容存储中。 |
| 优点 | 官方工具,功能强大;支持增量同步(mirror)、跨集群、跨云;数据一致性高,是生产环境首选。 | 操作简单直接,在停机维护时可快速执行,适合应急使用。 | 高效节省存储空间,提供端到端加密;可实现定时、自动化的备份方案。 |
| 缺点 | 需要额外安装和配置mc客户端。 | 需停止MinIO容器以确保数据一致性,会导致服务中断。 | 配置相对复杂,需要学习和维护额外的工具。 |
下面给大家分享两种常用方法:
方法一:使用MinIO的备份工具
# 下载并安装MinIO mc客户端 wget https://dl.min.io/client/mc/release/linux-amd64/mc chmod +x mc sudo mv mc /usr/bin/ # 配置mc以连接到你的MinIO服务器 mc alias set myminio http://<MINIO_SERVER_ADDRESS>:9000 <YOUR_ACCESS_KEY> <YOUR_SECRET_KEY> # 备份某bucket到其他目录 mc cp -r myminio/mybucket /home/bak
方法二:使用rsync进行备份
mkdir -p /home/scripts mkdir -p /home/scripts/log/ vim /home/scripts/rsyncd.secrets #添加服务器的rsync密码,不会的参看我另外一篇rsync文章 chmod 600 /home/scripts/rsyncd.secrets
vim /home/scripts/rsync_backup.sh
#!/bin/bash # 设置环境变量(关键!) export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" # 配置 SOURCE="/home/minio/" DEST="rsync_user@服务器IP::Minio" LOGFILE="/home/scripts/log/rsync_cron_$(date +%Y%m%d).log" LOCKFILE="/home/rsync_backup.lock" PASSWORDFILE="/home/scripts/rsyncd.secrets" # 检查是否已有实例在运行(防止重复执行) if [ -f "$LOCKFILE" ]; then echo "[$(date)] ERROR: rsync already running. Exiting." >> "$LOGFILE" exit 1 fi # 创建锁文件 touch "$LOCKFILE" trap 'rm -f "$LOCKFILE"; exit' INT TERM EXIT # 执行 rsync echo "[$(date)] Starting rsync..." >> "$LOGFILE" /usr/bin/rsync -avhzP --partial --stats --password-file="$PASSWORDFILE" "$SOURCE" "$DEST" >> "$LOGFILE" 2>&1 # 记录结束时间 echo "[$(date)] rsync finished." >> "$LOGFILE"
chmod +x /home/scripts/rsync_backup.sh
0 2 * * * /home/scripts/rsync_backup.sh >/dev/null 2>&1
到此这篇关于docker中minio的备份方法(两种方法)的文章就介绍到这了,更多相关docker minio备份内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Docker Gitlab+Jenkins+Harbor构建持久化平台操作
这篇文章主要介绍了Docker Gitlab+Jenkins+Harbor构建持久化平台操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-11-11
Linux Docker运行springboot项目的步骤详解
这篇文章主要介绍了Linux Docker运行springboot项目的步骤详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-01-01
Docker版的MySQL5.7升级到MySQL8.0.13,数据迁移
这篇文章主要介绍了Docker版的MySQL5.7升级到MySQL8.0.13,数据迁移,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-09-09


最新评论