一、Minio-Client 手册指南

在命令行直接输入 mc 命令,查看 mc 命令的语法和帮助。 官方教程:https://min.io/docs/minio/linux/reference/minio-mc/minio-client-settings.html

1.1 常规 mc 命令

命令 描述 备注
mc config 配置 MinIO 客户端 例如:mc config host list 命令列出 MinIO 客户端中的所有 host
mc alias 在配置文件中设置、删除和列出别名 为不同的MinIO服务器设置别名,简化记忆
mc ls 列出存储桶和对象 查看当前存储在MinIO中的所有存储桶和对象
mc mb 创建一个存储桶 为一个新项目或数据集创建一个存储位置
mc rb 删除一个存储桶 不再需要某个存储桶时,可以使用此命令进行删除
mc cp 复制对象 将一个对象从一个位置复制到另一个位置,例如从本地复制到远程MinIO服务器
mc mirror 将对象同步到远程站点 备份数据到另一个存储位置或与另一个MinIO集群保持同步
mc cat 显示对象内容 查看存储在MinIO中的对象内容。
mc head 显示对象的前“n” 行 快速查看对象的前几行内容,而无需下载整个对象。
mc pipe 将 STDIN 流传输到对象 将一个STDIN重定向到一个对象或者文件或者STDOUT。
mc share 生成临时访问对象的 URL 与他人分享文件,允许他们临时访问而无需登录。
mc find 查询对象 在存储桶中查找特定的文件或文件夹。
mc sql 对象运行 sql 查询 对存储在MinIO中的数据进行复杂查询和分析。
mc stat 显示对象元数据 获取有关对象的详细信息,如大小、修改日期等。
mc mv 移动对象 改变对象的存储位置或重命名对象。
mc tree 以树形格式列出桶和对象 速查看存储桶和对象的层级结构。
mc du 递归的统计磁盘使用情况 分析特定目录或存储桶的磁盘使用情况。
mc retention 为对象设置保留 用来为对象设置保留时间
mc legalhold 管理对象的合法保留 标记特定对象为法律保留,以遵守相关法律法规。
mc diff 比较两个存储桶之间对象的差异 列出两个存储桶之间对象名称、大小和日期的差异
mc rm 移除对象 不再需要某个对象时,可以使用此命令进行删除。
mc version 管理存储桶版本控制 存储桶版本控制。
mc ilm 管理存储桶生命周期 将生命周期规则添加到存储桶,例如自动归档和删除旧对象。
mc encrypt 管理存储桶加密配置 确保数据在传输和存储时的安全性,通过加密保护敏感数据。
mc event 管理对象通知 当特定事件发生时(例如对象被修改或删除),添加新的通知。
mc watch 监听对象通知事件 实时跟踪对象的变化,以便在事件发生时迅速作出响应。
mc undo 撤销 PUT/DELETE 操作 意外删除了对象或进行了错误的修改,可以使用此命令进行恢复。
mc anonymous 管理对存储桶和对象的匿名访问 管理对存储桶和对象的匿名访问。
mc tag 管理存储桶和对象的标签 对存储桶或对象进行标记,以便于分类和管理。
mc replicate 配置服务器端存储桶复制 将一个存储桶中的对象复制到另一个存储桶,保持数据同步。
mc update 更新 mc 到最新版本 使用此命令进行升级,以确保获得最新的功能和安全性修复。
mc idp 管理MinIO身份提供商的服务器配置 设置和配置与身份提供商(如LDAP、SAML等)的集成,实现单点登录等功能。

1.2 mc admin 管理 MinIO

命令 描述
mc admin service 重启或停止所有 MinIO 服务器,例如,当你进行维护或遇到问题时,可能需要停止或重启集群。
mc admin update 更新所有 MinIO 服务器,或者希望应用某些关键的安全补丁或修复时。
mc admin info 显示 MinIO 服务器信息,一般在诊断问题常用。
mc admin user 管理 MinIO 部署上的用户,增删改查user。
mc admin group group。组管理,增删改查
mc admin policy 管理用于 MinIO 基于策略的访问控制 (PBAC) 的策略
mc admin replicate 为一组 MinIO 对等站点创建和管理站点复制。
mc admin config 管理 MinIO 服务器的配置设置(如存储桶设置、日志级别等)
mc admin decommission 解除授权,在删除较旧的服务器池,与部署中的池相比,其硬件不再足够或性能不再高。
mc admin heal 扫描损坏的对象并修复这些对象。
mc admin top MinIO 提供 top like 统计
mc admin trace 显示 MinIO 服务器的 http 跟踪,有助于了解请求是如何在服务器之间流动的。
mc admin prometheus 管理 prometheus 配置
mc admin kms 执行 KMS 管理操作,在密钥管理系统 (KMS) 上增删改查主密钥等
mc admin bucket 管理 MinIO 服务器中定义的桶(创建、删除或修改存储桶)
mc admin rebalance 启动、监控或停止 MinIO 部署上的rebalance操作。重新平衡会在部署中的所有池中重新分配对象。

二、config - 管理mc配置文件

语法参数:

# 语法
mc config host add <ALIAS> <YOUR-S3-ENDPOINT> <YOUR-ACCESS-KEY> <YOUR-SECRET-KEY> [--api API-SIGNATURE]

# 参数
ALIAS 别名就是给你的云存储服务起了一个短点的外号。
YOUR-S3-ENDPOINT 云存储的主机和端口,如:http://127.0.0.1:9000
YOUR-ACCESS-KEY 云存储服务的 Access Key
YOUR-SECRET-KEY 云存储服务的 Secret Key
API-SIGNATURE API签名是可选参数,默认情况下它被设置为 "S3v4"

# 添加AWS S3外部存储
mc config host add s3 https://s3.amazonaws.com <your-access-key> <your-secret-key> --api s3v4

实战演练:

示例1:添加删除云存储服务配置

# 方式1.minio是minio server给的名字,url是endpoint,minioadmin是用户名,密码。
[root@master01 15]#
mc config host add minio http://127.0.0.1:9000 minioadmin minioadmin

# 方式2.通过access、SECRET KEY 进行验证。
[root@master01 15]#
mc config host add minio http://<minio-endpoint> <your-access-key> <your-secret-key>

# 方式3.使用Access、SECRET Key进行验证。
[root@master01 15]#
mc config host add minio-k8s http://<minio-service>:9000 <your-access-key>      <your-secret-key> --api s3v4

# 删除名为 minio的 HOST 配置
[root@master01 15]# mc config host remove minio
Removed `minio` successfully.

示例2:查看云存储服务配置

# 查看本地的云存储服务器或者配置文件
[root@master01 15]# mc config host list
gcs   
  URL       : https://storage.googleapis.com
  AccessKey : YOUR-ACCESS-KEY-HERE
  SecretKey : YOUR-SECRET-KEY-HERE
  API       : S3v2
  Path      : dns
  Src       : /root/.mc/config.json

k8s-s3
  URL       : http://<minio-endpoint>
  AccessKey : <your-access-key>
  SecretKey : <your-secret-key>
  API       : s3v4
  Path      : auto
  Src       : /root/.mc/config.json

local 
  URL       : http://localhost:9000
  AccessKey : 
  SecretKey : 
  API       : 
  Path      : auto
  Src       : /root/.mc/config.json

play  
  URL       : https://play.min.io
  AccessKey : <your-access-key>
  SecretKey : <your-secret-key>
  API       : S3v4
  Path      : auto
  Src       : /root/.mc/config.json

s3    
  URL       : https://s3.amazonaws.com
  AccessKey : YOUR-ACCESS-KEY-HERE
  SecretKey : YOUR-SECRET-KEY-HERE
  API       : S3v4
  Path      : dns
  Src       : /root/.mc/config.json

[root@master01 15]# cat ~/.mc/config.json
{
    "version": "10",
    "aliases": {
        "gcs": {
            "url": "https://storage.googleapis.com",
            "accessKey": "YOUR-ACCESS-KEY-HERE",
            "secretKey": "YOUR-SECRET-KEY-HERE",
            "api": "S3v2",
            "path": "dns"
        },
        "k8s-s3": {
            "url": "http://<minio-endpoint>",
            "accessKey": "<your-access-key>",
            "secretKey": "<your-secret-key>",
            "api": "s3v4",
            "path": "auto"
        },
        "local": {
            "url": "http://localhost:9000",
            "accessKey": "",
            "secretKey": "",
            "api": "S3v4",
            "path": "auto"
        },
        "play": {
            "url": "https://play.min.io",
            "accessKey": "<your-access-key>",
            "secretKey": "<your-secret-key>",
            "api": "S3v4",
            "path": "auto"
        },
        "s3": {
            "url": "https://s3.amazonaws.com",
            "accessKey": "YOUR-ACCESS-KEY-HERE",
            "secretKey": "YOUR-SECRET-KEY-HERE",
            "api": "S3v4",
            "path": "dns"
        }
    }
}

示例3:获取 Minio Server 指定键值。

[root@master01 15]# mc admin config get k8s-s3/ compression
compression enable=off allow_encryption=off extensions=.txt,.log,.csv,.json,.tar,.xml,.bin mime_types=text/*,application/json,application/xml,binary/octet-stream 

三、mb、rb - 创建/删除存储桶

实战演练:

示例1:在minio存储服务器中创建、删除一个新的 存储桶

# k8s-s3/test是在k8s-s3下创建一个叫做test的bucket
[root@master01 15]# mc mb k8s-s3/test

# 递归创建存储桶(相当于'mkdir -p')
[root@master01 15]# mc mb k8s-s3/test/this/new/dir1

# 创建多个目录,包括其缺失的父目录(行为类似于“mkdir -p”)
[root@master01 15]# mc mb k8s-s3/test/sdb/mydisk k8s-s3/test/sdc/mydisk k8s-s3/test/sdd/mydisk

# 在区域“zh-west”的MinIO存储服务上创建一个新存储桶test。
[root@master01 15]# mc mb --region=zh-west k8s-s3/test2

示例2:MinIO 客户端 mc rb 命令用来从存储服务删除 存储桶

# 删除本地MinIO存储服务上的空存储桶files
[root@master01 15]# mc ls k8s-s3/test
[root@master01 15]# mc rb k8s-s3/test2

# 删除目录层次结构
[root@master01 15]# mc rb k8s-s3/test/this/new/dir1

# 删除没有文件的bucket
[root@master01 15]# mc rb k8s-s3/test

# 从S3主机递归删除所有存储桶和对象
[root@master01 15]# mc rb --force --dangerous k8s-s3

四、ls - 查看存储桶中存储的文件有文件夹

# ls命令帮助
C:\> mc ls -h
NAME:
  mc ls - list buckets and objects

USAGE:
  mc ls [FLAGS] TARGET [TARGET ...]

FLAGS:
  --rewind value    list all object versions no later than specified date 列出不迟于指定日期的所有对象版本
  --versions        list all versions 列出所有版本
  --recursive, -r   list recursively 递归列出
  --incomplete, -I  list incomplete uploads 列出不完整的上传
  --summarize       display summary information (number of objects, total size)
  --config-dir value, -C value  path to configuration folder (default: "C:\\Users\\Administrator\\mc")
  --quiet, -q       disable progress bar display
  --no-color        disable color theme
  --json            enable JSON lines formatted output
  --debug           enable debug output
  --insecure        disable SSL certificate verification
  --help, -h        show help

实战演练:

# 查看创建的桶以及文件
$ mc ls k8s-s3/
[2023-10-15 19:44:38 CST] 0B demo/
[2024-01-07 19:11:26 CST] 0B jfs/
[2024-01-18 21:28:56 CST] 0B qige/

# 以递归方式列出本地MinIO存储服务中的存储桶及其所有内容
$ mc ls --recursive k8s-s3

# 递归查看桶中目录中所有文件
$ mc ls --recursive k8s-s3/demo

# 如果启用了存储桶版本控制,则列出过去特定时间的内容
$ mc ls --rewind 2024.01.18 k8s-s3/demo

# 如果启用了存储桶版本控制,则列出所有内容版本
$ mc ls --versions k8s-s3/demo

# 列出 mybucket 上的所有对象,汇总对象的数量和总大小
$ mc ls --summarize k8s-s3/jfs/jfs-volume/meta/

# 使用 --json 参数启用 JSON 格式的输出
$ mc --json ls k8s-s3

五、cat、head、rm、mv - 显示、删除、移动文件或目录

实战演练:

# 查看 MinIO 服务中 files 存储桶中的 hello.html 文件内容。
$ mc cat k8s-s3/demo/html/hello.html

# 将多个文件连接为一个文件
$ mc cat hello* > helloall.html

# 查看本地文件或者 MinIO 存储桶前 3 行内容
$ mc head -n 3 ./helloall.html
$ mc head -n 3 k8s-s3/demo/html/helloall.html

# 将对象列表从本地文件系统移动到 Amazon S3 云存储。
$ mc mv Music/*.ogg s3/jukebox/

# 将多个本地文件夹递归移动到 MinIO 云存储。
$ mc mv --recursive backup/2022/ backup/2023/ play/archive/

# 将超过 7 天 10 小时的文件从MinIO云存储移动到Amazon S3云存储。
$ mc mv --older-than 7d10h k8s-s3/jfs/jfs-volume/meta/ s3/mybucket/

# 删除文件
$ mc rm k8s-s3/demo/html/helloall.html

# 删除目录
$ mc rm k8s-s3/demo/html --recursive --force

# 从存储桶“pop-songs”中递归删除所有超过7天10小时的对象
$ mc rm --recursive --force --newer-than 7d10h s3/pop-songs/

# 递归删除所有存储桶下超过“90”天的所有对象
$ mc rm --recursive --dangerous --force --older-than 90d s3

六、cp - 文件拷贝与上传

实战演练:

# 上传文件 calico.yaml 文件到 k8s-s3/qige 桶的根目录中。
$ mc cp calico.yaml k8s-s3/qige

# 以递归方式将本地文件夹 go 复制到本地 MinIO 服务的 images/test 存储桶
$ mc cp --recursive go k8s-s3/qige

# 递归复制多个本地文件夹到本地 MinIO 存储服务。
$ mc cp --recursive backup/2022/ backup/2023/ play/archive/

# 以递归方式将文件夹从 MinIO 云存储复制到 Amazon S3 云存储。
$ mc cp --recursive k8s-s3/qige/ s3/mybucket/

# 回滚过去 10 天以复制 'mybucket' 的内容
$ mc cp --rewind 10d -r play/mybucket/ /tmp/dest/

# 为上传的对象设置标签
$ mc cp -r --tags "category=prod" ./data/ k8s-s3/another-bucket/

七、mirror - 同步对象

描述:使用 mc mirror 命令将对象同步到远程站点。

格式:mc mirror [FLAGS] SOURCE TARGET

实战演练:

(1)递归地将一个bucket  MinIO云存储镜像到Amazon S3云存储上的一个bucket。
$ mc mirror play/photos/2024 s3/backup-photos

(2)递归地将本地文件夹镜像到 MiniO 存储。
$ mc mirror backup/ k8s-s3/qige

(3)仅将7天10小时30分钟以上的文件镜像到Amazon S3云存储。
$ mc mirror --newer-than "7d10h30m" backup/s3/archive

(4)将存储桶从别名 Amazon S3 云存储镜像到本地文件夹,使用“--overwrite”覆盖目标。
$ mc mirror --overwrite s3/miniocloud miniocloud-backup

(5)将 MinIO 云存储中的存储桶镜像到 Amazon S3 云存储上的存储桶,并删除任何无关的 Amazon S3 云存储上的文件。
$ mc mirror --remove k8s-s3/photos/2024 s3/backup-photos/2024

(6)持续递归地将本地文件夹镜像到MinIO云存储。 '--watch' 持续关注新对象、上传和删除 Amazon S3 云存储上的无关文件。
$ mc mirror --remove --watch /var/lib/backups play/backups

(7)不断地将站点1的所有bucket和objects镜像到site 2,移除的bucket和objects也会被反映。
$ mc mirror --remove --watch site1-alias/ site2-alias/

(8)将存储桶从别名 Amazon S3 云存储镜像到本地文件夹。镜像时排除所有 .* 文件和 *.temp 文件。
$ mc mirror --exclude ".*" --exclude "*.temp" s3/test ~/test

(9)将超过 10 天的对象从存储桶测试镜像到本地文件夹。
$ mc mirror --newer-than 10d s3/test ~/localfolder

(10)将超过 30 天的对象从 Amazon S3 存储桶测试镜像到本地文件夹。
$ mc mirror --older-than 30d s3/test ~/test

八、mc cp 对比 mc mirror

mc mirror:

  • mc mirror:主要用于批量复制数据,可以创建存储桶。
  • 特性:它专注于大规模数据的迁移和备份,能够快速地将大量数据从一个位置复制到另一个位置。
  • 场景:mc mirror适合用于数据迁移、备份和恢复等场景。

mc cp:

  • mc cp:更注重于单个文件的复制和传输。
  • 特性:允许对单个文件进行微调选项,虽然它也支持递归复制。
  • 场景:适用于较小的数据集或者单个文件的传输和备份。

九、anonymous - 设置存储桶的访问策略

格式:mc anonymous ${参数} ACCESS BUCKET

实战演练:

(1)在 Amazon S3 云存储上将存储桶 “zhdya2024” 的策略设置为 “download”。
$ mc anonymous set download s3/zhdya2024 | 允许没有身份验证的客户端直接下载存储在 s3/zhdya2024 存储桶中的对象。

(2)在 Amazon S3 云存储上将存储桶 “shared” 的策略设置为 “public”。
$ mc anonymous set public s3/shared | 将允许没有身份验证的客户端直接访问 s3/shared 存储桶中的对象,公开可用的资源。

(3)在 Amazon S3 云存储上将存储桶 “incoming” 的策略设置为 “upload”。
$ mc anonymous set upload s3/incoming | 允许没有身份验证的客户端直接将对象上传到 s3/incoming 存储桶中。

(4)将 Amazon S3 云存储上带有前缀 “images” 的存储桶 “public-commons” 的策略设置为 “public”。
$ mc anonymous set public s3/public-commons/images

(5)使用 JSON 文件在 Amazon S3 云存储上设置基于自定义前缀 “images” 的存储桶 “public-commons” 的策略。
$ mc anonymous set-json /path/to/anonymous.json s3/public-commons/images

(6)获取存储桶权限。
$ mc anonymous get s3/shared

(7)获取 JSON 格式的存储桶权限。
$ mc anonymous get-json s3/shared

(8)列出为指定存储桶设置的策略。
$ mc anonymous list s3/shared

(9)递归列出公共对象 URL。
$ mc anonymous --recursive links s3/shared/

十、alias - 创建设置别名

mc alias 命令支持三个子命令,分别为:

  • set, s:设置一个新的别名到配置文件
  • list, ls:列出配置文件中的别名列表
  • remove, rm:从配置文件中删除一个别名
  • import, i:将配置信息从 Json 格式的字符串导入到配置文件

实战演练:

10.1 mc alias set

(1)在“myminio”别名下添加 MinIO 服务。
$ mc alias set myminio http://<minio-endpoint> root mypassword
Added `myminio` successfully.

(2)在 "myminio" 别名下添加 MinIO 服务,以使用 dns 样式的桶查找。
$ mc alias set myminio http://<minio-endpoint> root mypassword --api "s3v4" --path "off"
Added `myminio` successfully.

(3)在“mys3”别名下添加 Amazon S3 存储服务。
$ mc alias set mys3 https://s3.amazonaws.com \
<your-access-key> <your-secret-key>

(4)在“mys3”别名下添加 Amazon S3 存储服务,提示输入密钥。
$ mc alias set mys3 https://s3.amazonaws.com --api "s3v4" --path "off"
Enter Access Key: <your-access-key>
Enter Secret Key: <your-secret-key>

(5)使用管道密钥在“mys3”别名下添加 Amazon S3 存储服务。
$ echo -e "<your-access-key>\n<your-secret-key>" | \
mc alias set mys3 https://s3.amazonaws.com --api "s3v4" --path "off"

10.2 mc alias list

(1)列出所有别名
$ mc config host list
...
k8s - s3
  URL : http://<minio-endpoint>
  AccessKey : <your-access-key>
  SecretKey : <your-secret-key>
  API : s3v4
  Path : auto
...

(2)列出指定别名信息
$ mc config host list s3
s3
  URL : https://s3.amazonaws.com
  AccessKey : YOUR-ACCESS-KEY-HERE
  SecretKey : YOUR-SECRET-KEY-HERE
  API : S3v4
  Path : dns

10.3 mc alias remove

(1)从配置文件中删除名为“myminio”的别名
$ mc alias remove myminio

十一、admin - 控制台配置与查询

实战演练:

  • 示例1:查询指定 minio 云存储服务
[root@master1 /root]# mc admin info k8s-s3/
● minio-1-ss-0-0.minio-1-hl.minio-tenant-1.svc.cluster.local:9000
  Uptime: 5 hours
  Version: 2023-08-31T15:31:16Z
  Network: 3/3 OK
  Drives: 4/4 OK
  Pool: 1
● minio-1-ss-0-1.minio-1-hl.minio-tenant-1.svc.cluster.local:9000
  Uptime: 5 hours
  Version: 2023-08-31T15:31:16Z
  Network: 3/3 OK
  Drives: 4/4 OK
  Pool: 1
● minio-1-ss-0-2.minio-1-hl.minio-tenant-1.svc.cluster.local:9000
  Uptime: 5 hours
  Version: 2023-08-31T15:31:16Z
  Network: 3/3 OK
  Drives: 4/4 OK
  Pool: 1
Pools:
  1st, Erasure sets: 1, Drives per erasure set: 12
  7.2 MiB Used, 3 Buckets, 65 Objects
  12 drives online, 0 drives offline
  • 示例2:创建和管理 MinIO 用户, 在 mc admin user 命令提供了8个子命令对 MinIO 的用户信息进行管理,分别如下:
$ mc admin user add 创建新用户
$ mc admin user disable 禁用用户
$ mc admin user enable 启用用户
$ mc admin user remove 删除用户
$ mc admin user list 列出所有用户
$ mc admin user info 显示某一个用户信息
$ mc admin user policy 以 JSON 格式导出用户策略
$ mc admin user svcacct 管理服务帐户
$ mc admin user sts 检索有关 bucket 访问密钥的 STS 凭据信息
  • 示例3:一些管理任务的子命令
1) 列出所有用户:通过 mc admin user list <HOST> 命令,可以列出指定主机上的所有用户。
2) 创建新用户:使用 mc admin user add <HOST> <ACCESS_KEY> <SECRET_KEY> 命令,可以创建一个新用户。
3) 删除用户:通过 mc admin user remove <HOST> <ACCESS_KEY> 命令,可以删除指定用户。
4) 设置策略:通过 mc admin policy add <HOST> <POLICY_NAME> path/to/policy.json 命令,可以为指定主机添加策略。
5) 删除策略:使用 mc admin policy remove <HOST> <POLICY_NAME> 命令,可以删除指定主机的策略。
6) 查看服务器信息:通过 mc admin info <HOST> 命令,可以获取指定主机的服务器信息。
7) 启用/禁用账户:使用 mc admin user enable/disable <HOST> <ACCESS_KEY> 命令,可以启用或禁用指定账户。
8) 设置区域服务器:通过 mc admin configset <HOST> region us - west - 2 命令,可以为指定主机设置区域服务器。
9) 将服务器添加到集群中:使用 mc admin service add <HOST> <SERVER - ADDRESS> 命令,可以将指定服务器添加到集群中。
10) 从集群中删除服务器:通过 mc admin service remove <HOST> <SERVER - ADDRESS> 命令,可以从集群中删除指定服务器。

十二、常用(熟能生巧)

# 查看 minio 服务端配置
mc config host ls

# 添加 minio 服务端配置
mc config host add minio http://<minio-endpoint> <your-access-key> <your-secret-key> --api s3v4

# 查看 minio bucket
mc ls minio

# 创建 bucket
mc mb minio/backup

# 上传本地目录(文件不加r)
mc cp -r test minio/backup/

# 下载远程目录(文件不加r)
mc cp -r minio/backup .

# 将一个本地文件夹镜像到 minio (类似rsync)
mc mirror localdir/ minio/backup/

# 持续监听本地文件夹镜像到 minio(类似rsync)
mc mirror -w localdir/ minio/backup/

# 持续从 minio 存储桶中查找所有 jpg 图像,并复制到 minio "play/bucket" 存储桶
mc find minio/backup --name "*.jpg" --watch --exec "mc cp {} k8s-s3/qige/"

# 删除目录
mc rm minio/backup/test --recursive --force

# 删除文件
mc rm minio/backup/xxx.yaml

# 删除所有未完整上传的对象
mc rm --incomplete --recursive --force minio/backup

# 删除 7 天前的对象
mc rm --force --older-than=7 minio/backup

# 将 MySQL 数据库 dump 文件输出到 minio
mysqldump -u root -p ******* db | mc pipe minio/backup/backup.sql

# MongoDB 备份
mongodump -h mongo-server1 -p 27017 -d blog-data --archive | mc pipe minio/backup/mongo-blog-data-`date +%Y-%m-%d`.archive