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

相关推荐
糖墨夕26 分钟前
第二章:AI Agent 到底是个啥?—— 用生活场景把概念讲明白
前端
Csvn29 分钟前
⚡ content-visibility: auto —— 长页面渲染提速的隐藏神器,白捡的性能优化
前端
用户9385156350731 分钟前
深入理解 Next.js:从 SPA 的 SEO 问题到约定式路由与 SSR 原理
前端·后端·全栈
snow@li1 小时前
web:前端500知识点/速查手册
前端
kyriewen2 小时前
今年裁了16万技术人——但字节前端岗反而涨了23%
前端·javascript·面试
用户059540174463 小时前
把 AI Agent 记忆存储验证从 40 分钟手测压到 3 分钟,pytest + Docker 这套组合太顶了
前端·css
stereohomology3 小时前
MS Edge很多事的一点是把地址栏复制的地址自动转标题文本
前端·edge
imaol13 小时前
链表 -- 环链表
java·前端·链表
imaol13 小时前
链表 -- 双向链表
java·前端·链表
东风破_4 小时前
大前端手里的 Next.js:从 #root 到 SEO,一份 HTML 的两种命运
前端·后端