docker中minio的备份方法(两种方法)

 更新时间:2026年04月18日 14:51:40   作者:君穆南  
该文本主要介绍了两种MinIO的备份方法,一种是使用MinIO的备份工具,另一种是使用rsync进行备份,并给出rsync备份的脚本示例,感兴趣的朋友跟随小编一起看看吧

在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 cpu限制分析

    详解Docker cpu限制分析

    本篇文章主要介绍了Docker cpu限制分析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • docker容器资源限制与容器内的dotnet应用线程限制

    docker容器资源限制与容器内的dotnet应用线程限制

    文章指出因docker-compose资源限制配置错误(如误将cpu设为0.5导致线程过多),引发redis超时问题,同时微服务中大key、热key等不合理操作加剧redis性能瓶颈,需优化代码和容器参数设置
    2025-09-09
  • Docker Gitlab+Jenkins+Harbor构建持久化平台操作

    Docker Gitlab+Jenkins+Harbor构建持久化平台操作

    这篇文章主要介绍了Docker Gitlab+Jenkins+Harbor构建持久化平台操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker常用命令Study03详解

    Docker常用命令Study03详解

    这篇文章主要介绍了Docker常用命令Study03详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Linux Docker运行springboot项目的步骤详解

    Linux Docker运行springboot项目的步骤详解

    这篇文章主要介绍了Linux Docker运行springboot项目的步骤详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • docker如何开启2375端口提供外部访问docker

    docker如何开启2375端口提供外部访问docker

    这篇文章主要介绍了docker如何开启2375端口提供外部访问docker问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Docker创建MySQL容器的方法

    Docker创建MySQL容器的方法

    本篇文章主要介绍了Docker创建MySQL容器的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Docker版的MySQL5.7升级到MySQL8.0.13,数据迁移

    Docker版的MySQL5.7升级到MySQL8.0.13,数据迁移

    这篇文章主要介绍了Docker版的MySQL5.7升级到MySQL8.0.13,数据迁移,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • docker entrypoint入口文件详解

    docker entrypoint入口文件详解

    这篇文章主要介绍了docker entrypoint入口文件详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • docker直接下载太慢,如何更换国内靠谱镜像源

    docker直接下载太慢,如何更换国内靠谱镜像源

    这篇文章主要介绍了docker直接下载太慢,如何更换国内靠谱镜像源问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05

最新评论