docker里面的minio的备份方法

方法一:使用MinIO的备份工具

bash 复制代码
# 下载并安装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进行备份

bash 复制代码
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

bash 复制代码
#!/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

相关推荐
走到天涯海角33 分钟前
react里面的长列表渲染优化
前端·react.js·前端框架
小羊没烦恼!35 分钟前
Hello Web API系列教程——Web API与国际化
java·服务器·前端·javascript·php
北岛贰1 小时前
迷茫焦虑期,我做了一个带支付带官网的 AI 聊天虚拟恋人 App
前端·人工智能·后端
mayaairi2 小时前
Vue2 组件通讯(三):全局事件总线、PubSub、插槽与组件实例属性
前端·javascript·vue.js
kyriewen3 小时前
面试官问我:AI 都能写代码了,前端凭什么还值 25K
前端·javascript·人工智能
风骏时光牛马4 小时前
AI源码分析:拆解模型底层实现逻辑
前端
IT_陈寒4 小时前
React子组件莫名其妙重渲染?你可能漏了这个Hook
前端·人工智能·后端
乘风gg4 小时前
DeepSeek V4.1 Flash 来了,明天中午 Flash 降价 60%
前端·ai编程·claude
默_笙5 小时前
❗ 给金鱼装记忆(上):从白板到笔记本,AI 的短期记忆生存指南
前端·javascript
酷酷的逗逗乐5 小时前
前端转 Agent 开发 · 第五节:Memory 会话记忆
前端·程序员