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

使用MC工具同步MinIO

通过docker部署的相关服务

一、确定服务器ip

  • Node A:11.16.212.196
  • Node B:11.16.212.197

二、确保两台服务器已安装 MinIO 并运行

docker ps

三、部署mc工具(两台都要)

1.下载mc工具:

MinIO Downloads

2.上传MC

#到根目录

cd /

#进到opt文件夹

cd opt

#创建文件夹

mkdir deploy

# 把下载的文件上传到deploy文件夹下

# 请将下方命令中的 "mc.RELEASE.2025-08-13T08-35-41Z" 替换为您实际的文件名

mv /opt/deploy/mc.RELEASE.2025-08-13T08-35-41Z /opt/deploy/mc

# 赋予执行权限

chmod +x /opt/deploy/mc

# 创建软链接到系统路径,方便全局调用

sudo ln -s /opt/deploy/mc /usr/local/bin/mc

#验证安装

mc --version

# 正常应输出版本信息,例如: mc version RELEASE.2025-08-13T08:35:41Z

四、配置mc别名(按节点分别配置)

Node A (11.16.212.196)

# 设置本地别名为自己的IP,远程别名为对端IP

mc alias set local http://11.16.212.196:9000 minioadmin minioadmin

mc alias set remote http://11.16.212.197:9000 minioadmin minioadmin

Node B (11.16.212.197)

# 设置本地别名为自己的IP,远程别名为对端IP

mc alias set local http://11.16.212.197:9000 minioadmin minioadmin

mc alias set remote http://11.16.212.196:9000 minioadmin minioadmin

验证别名

# 列出本地的桶
/opt/deploy/mc ls local/

# 列出远端的桶
/opt/deploy/mc ls remote/

遇见问题:出现了别名混淆的问题,执行完上面命令使用下面命令检查是否有重复(都要执行)

mc ls local # 应该能列出本地的buckets

mc ls remote # 应该能列出服务器的buckets

验证是否有local_minio和remote_minio

删除旧别名

/usr/local/bin/mc alias remove local_minio
/usr/local/bin/mc alias remove remote_minio

五、创建同步脚本

两台服务器均执行:

cat << 'SCRIPT' > /opt/deploy/sync.sh #!/bin/bash set -e MC="/opt/deploy/mc" LOG_FILE="/var/log/minio_sync.log" # 文件锁,防止并发 exec 200>/tmp/minio_sync.lock if ! flock -n 200; then exit 0 fi echo "[$(date '+%F %T')] 开始同步 local → remote ..." >> "$LOG_FILE" BUCKETS=$(${MC} ls local/ 2>/dev/null | awk '{print $5}' | sed 's#/##') if [ -z "$BUCKETS" ]; then echo "[$(date '+%F %T')] 没有桶需要同步" >> "$LOG_FILE" exit 0 fi for bucket in $BUCKETS; do ${MC} ls remote/$bucket >/dev/null 2>&1 || ${MC} mb remote/$bucket ${MC} mirror --overwrite --preserve local/$bucket remote/$bucket >> "$LOG_FILE" 2>&1 done echo "[$(date '+%F %T')] 同步完成" >> "$LOG_FILE" SCRIPT

脚本说明

特性说明
无需 VIP 检测两台各自直接往对方推送,实现双向同步
文件锁防止 cron 多次触发导致并发冲突
自动建桶远端缺少桶时自动创建
全量 mirror--overwrite覆盖同名对象,--preserve保留时间戳
日志输出到/var/log/minio_sync.log

#赋予权限

chmod +x /opt/deploy/sync.sh

确认 mc 路径(关键!)

which mc

# 如果输出不是 /usr/local/bin/mc,请立即修正:

# sed -i 's|MC_PATH="/usr/local/bin/mc"|MC_PATH="你的实际路径"|' /opt/deploy/sync.sh

六、手动运行与验证

两台服务器都要执行:

#执行脚本

/opt/deploy/sync.sh

# 查看日志
tail -f /var/log/minio_sync.log

执行完成后查看两边的照片是否同步

七、配置定时任务

两台服务器均执行:

crontab -e

添加进去

#定时任务

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
*/5 * * * * /opt/deploy/sync.sh >/dev/null 2>&1

保存退出(:wq

验证:

crontab -l

输入配置信息

http://www.jsqmd.com/news/1025289/

相关文章:

  • 6.16
  • AI漫剧AI短剧培训机构哪家好?首选莫瑶教育-12天AI漫剧+AI短剧全能实战集训班完整教学方案 - 教育信息网
  • 苏州靠谱宠物店实地测评,买猫买狗优选门店参考 - 园友3800037
  • matlab中的for特征
  • 横岗眼镜城有保障店铺核心维度解读 配镜前实用参考指南 - 速递信息
  • 北京卖表必看!全网高口碑奢侈品名表回收门店测评|本地6大商家客观排名 - 名奢变现站
  • Everspin的32Mb异步MRAM型号推荐
  • 智能体RAG客服系统4——middleware部分开发与agent主体开发
  • 2026年保洁外包选型指南:代表性服务商深度解析,优质保洁外包推荐 - 速递信息
  • 国内二维过渡金属碳化物MXene品牌综合实力排行 - 奔跑123
  • 长沙雨花区下水道疏通 2026 真实评测最新综合排行榜 - 居顺联家政疏通
  • Rescuezilla终极指南:3个简单步骤实现系统备份与恢复
  • 2026最新救命贴:Turnitin英文初稿降ai率实操,这套降aigc保姆级教程千万别错过 - 殷念写论文
  • 二手欧米茄出手别乱询价,2026南京正规回收门店报价透明实测 - 奢侈品回收评测
  • 闲置包包别乱卖!苏州回收内行秘籍已公开 - 奢侈品交易观察员
  • 终极指南:如何在Mac上快速制作Windows启动盘
  • 从零实现一个 Web 搜索 MCP 插件
  • 肖有米开发:推三返一模式系统开发推三返一现成小程序开发
  • 2026济南黄金回收测评打分:添价收99分摘冠,七家品牌全维度评分 - 薛定谔的梨花猫
  • 如何快速掌握ViGEmBus虚拟手柄驱动:Windows游戏控制器兼容性终极解决方案
  • 2026成都卖劳力士首选!5 家实体店深度测评禹竞名奢汇 - 禹竞
  • B2B信息发布平台:核心功能、技术架构与运营策略全解析
  • BepInEx:Unity游戏插件框架的技术革新与多运行时生态构建
  • 【科普】城阳区新房收房,防水验收重点查这几个位置 - 青岛防水品牌推荐
  • 解决macOS多设备滚动冲突的智能方案
  • 2026热门潜水表回收行情解析,南京劳力士无附件手表回收实测 - 奢侈品回收评测
  • 海口秀英区上门疏通管道 2026 真实评测最新综合排行榜 - 居顺联家政疏通
  • 【Spring Boot + MyBatis|第9篇】使用 AOP 实现接口操作日志记录
  • manjaro安装电脑版微信
  • 2026 西安瓷砖空鼓维修效果好的商家 TOP4 专业修缮指南 专业修缮公司排名推荐(2026年6月瓷砖空鼓修缮最新TOP权威排名) - 冠盾建筑修缮