前言

最近需要将一个服务器上的minio桶的数据迁移到新服务器上,所以学习了一下,使用的是minio client。
MinIO Client (mc) 是一个用于与 MinIO 和其他兼容 Amazon S3 的云存储服务交互的命令行工具。MinIO 是一个高性能的对象存储服务器,mc 提供了一个丰富的命令集来管理对象存储和存储桶。
优点:

  • 跨平台支持:支持所有主流操作系统,包括 Windows、macOS 和 Linux。
  • 兼容性:兼容 Amazon S3 API,可以与任何兼容 S3 的对象存储服务一起使用。
  • 全面的命令集:提供了类似于 UNIX 风格的命令,便于用户管理对象存储。
  • 脚本化:支持脚本化操作,方便批量任务的自动化执行。
  • 安全:通过 TLS 加密传输数据,保证数据的安全性。

使用

1.拉取minio client 镜像

docker pull minio/mc:RELEASE.2023-06-06T13-48-56Z
  • 1.

使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_minio client

2.部署mc容器

docker run -it  --entrypoint=/bin/sh minio/mc:RELEASE.2023-06-06T13-48-56Z
  • 1.

使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_数据迁移_02

3.添加云存储服务器

mc alias set minio1 http://ip:端口 用户名 密码
  • 1.

如图,添加了minio1和minio2两个云存储服务器

使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_服务器_03
使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_云存储_04

4.迁移数据

1.全量迁移
mc mirror minio1 minio2
  • 1.

将minio1的所有桶的文件迁移到minio2中,重名文件不覆盖,如bucket不存在,会自动创建

使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_对象存储_05

2.只迁移某个桶
mc mirror minio1/桶名 minio2/桶名
  • 1.

迁移的桶需要提前创建!

使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_数据迁移_06
等待他迁移完成,可以看到minio1 poap桶里的数据已经迁移到minio2的poap桶中
使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_对象存储_07

3.覆盖重名文件

加上–overwrite参数,覆盖重名文件

mc mirror  --overwrite  minio1 minio2
mc mirror  --overwrite  minio1/poap  minio2/poap
  • 1.
  • 2.

5.其他操作

以下将云存储服务器简称为alias

1.列出所有alias、列出列出桶中的文件和目录
1.1.列出所有alias
mc alias ls
  • 1.

可以看到刚才我们添加的云存储桶信息
使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_数据迁移_08

1.2.列出桶中的文件和目录
mc ls alias名
或者
mc ls alias名/桶名
或者
mc ls alias名/桶名/目录
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

列出alias的桶
使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_服务器_09
列出桶中的目录
使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_对象存储_10
列出目录中的文件信息
使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_云存储_11

2.创建桶、删除桶
2.1.创建桶
mc mb alias名/新桶名
  • 1.

使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_minio client_12
使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_对象存储_13

2.2.删除桶
删除没有文件的桶:
mc rb alias名/桶名

删除有文件的桶:
mc rb alias名/桶名 --force
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_对象存储_14
使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_服务器_15

3.删除文件/目录
mc rm 文件/目录路径
  • 1.

使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_数据迁移_16

4.设置桶的存储策略
mc anonymous set 存储策略 alias名/桶名
  • 1.

设置bbb桶的存储策略为public
使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_云存储_17

5.查看桶中文件的内容
mc cat 文件在桶中的存储位置
  • 1.

使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_数据迁移_18

6.执行管理任务
mc admin info alias名
  • 1.

监控服务器状态
使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_云存储_19

7.find 查找文件
mc find alias名/桶名 --name 查找条件
  • 1.

使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作_数据迁移_20