MinIO客户端(mc命令)数据迁移

属于我的梦,明明还在 / 2023-08-16 / 原文

一.概述

通过minio提供的客户端实现资源迁移,本文章的mc通过docker创建。
minio1的api地址是172.20.10.2:9000
minio2的api地址是172.20.10.2:9002

二.docker启动mc实例,并进入容器内部

docker run -it --entrypoint=/bin/sh minio/mc

三.通过mc命令连接两个minio服务

sh-4.4# mc alias set minio1 http://192.21.11.78:30007 DRk6W4Mf dfdsfdsfsZaQtBkfqi1D
mc: Configuration written to `/root/.mc/config.json`. Please update your access credentials.
mc: Successfully created `/root/.mc/share`.
mc: Initialized share uploads `/root/.mc/share/uploads.json` file.
mc: Initialized share downloads `/root/.mc/share/downloads.json` file.
Added `minio1` successfully.
sh-4.4# mc alias set minio2 http://192.21.11.56:9000 c5P53PBb NKVxcsdsdvICUa8adIsgzT
Added `minio2` successfully.

四.迁移数据

#全量迁移,重名文件不覆盖,bucket不存在会自动创建
mc mirror minio1 minio2
#只是迁移某个bucket,以test为例,目标的bucket需要提前建好
mc mirror minio1/test minio2/test
#覆盖重名文件,加--overwrite
mc mirror --overwrite minio1/test minio2/test