wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /usr/local/bin/mc
chmod +x /usr/local/bin/mc
source-minio)和目标MinIO实例(target-minio)配置访问别名,替换<IP>、<ACCESS_KEY>、<SECRET_KEY>为实际值。mc alias set source-minio http://<源服务器IP>:9000 <ACCESS_KEY> <SECRET_KEY>
mc alias set target-minio http://<目标服务器IP>:9000 <ACCESS_KEY> <SECRET_KEY>
ping测试),且MinIO默认端口(9000)开放。mc ls source-minio查看源存储桶列表,再用mc mb target-minio/<bucket-name>创建)。mc mirror命令将源MinIO的所有数据同步到目标MinIO,--remove参数可删除目标端多余文件(保持两端一致,仅影响目标端)。mc mirror --remove source-minio/ target-minio/
--watch参数,持续监控源端变化并自动同步(适合长期维护)。mc mirror --remove --watch source-minio/ target-minio/
my-bucket),可指定桶名:mc mirror source-minio/my-bucket target-minio/my-bucket
saas-demo)复制到本地临时目录(如/tmp)。mc alias set minioserverA http://localhost:9000 <ACCESS_KEY> <SECRET_KEY>
mc mirror minioserverA/saas-demo /tmp/saas-demo/
scp(或U盘、中转网盘)将本地数据拷贝到目标服务器。scp -r /tmp/saas-demo/ user@<目标服务器IP>:/tmp/
mc alias set minioserverB http://localhost:9000 <ACCESS_KEY> <SECRET_KEY>
mc mirror /tmp/saas-demo/ minioserverB/saas-demo
ps -ef | grep minio
kill -9 <进程ID>
/mnt/data,使用tar压缩(保留权限)。tar -zcvf minio_data.tar.gz /mnt/data
rsync断点续传)。scp minio_data.tar.gz user@<目标服务器IP>:/tmp/
/mnt/data),并修复权限(确保MinIO运行用户有读写权限)。tar -zxvf /tmp/minio_data.tar.gz -C /
chown -R <minio运行用户>:<minio运行用户组> /mnt/data
export MINIO_ROOT_USER=<ACCESS_KEY>
export MINIO_ROOT_PASSWORD=<SECRET_KEY>
minio server /mnt/data --console-address ":9001"
mc diff命令对比源与目标存储桶的对象哈希值(无输出则表示一致)。mc diff source-minio/my-bucket target-minio/my-bucket
file.txt),确认内容无误。mc cat target-minio/my-bucket/file.txt
mc restore命令恢复特定版本测试)。mc mirror命令添加到crontab(如每小时同步一次)。crontab -e
# 添加以下内容(每小时0分执行)
0 * * * * mc mirror --remove --watch source-minio/ target-minio/ >> /var/log/minio_sync.log 2>&1
mc watch命令实时查看同步进度,或结合Prometheus+Grafana监控MinIO集群状态。