MinIO客户端mc基础命令学习

MinIO Client完全指南

MinIO Client 完全指南

config命令 - 管理配置文件

config host 命令提供了一个方便管理 ~/.mc/config.json 配置文件中的主机信息的方式,你也可以用文本编辑器手动修改这个配置文件

用法:
  mc config host COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]

COMMANDS:
  add, a      添加一个新的主机到配置文件。
  remove, rm  从配置文件中删除一个主机。
  list, ls    列出配置文件中的主机。

FLAGS:
  --help, -h                       显示帮助。

示例

[root@localhost bin]# mc config  host list

gcs
  URL       : https://storage.googleapis.com
  AccessKey : YOUR-ACCESS-KEY-HERE
  SecretKey : YOUR-SECRET-KEY-HERE
  API       : S3v2
  Lookup    : dns

local
  URL       : http://localhost:9000
  AccessKey :
  SecretKey :
  API       :
  Lookup    : auto

miniotest
  URL       : http://192.168.133.122:9000
  AccessKey : minioadmin
  SecretKey : minioadmin
  API       : s3v4
  Lookup    : auto

myminio
  URL       : http://127.0.0.1
  AccessKey : minioadmin
  SecretKey : minioadmin
  API       : s3v4
  Lookup    : auto

play
  URL       : https://play.min.io
  AccessKey : Q3AM3UQ867SPQQA43P2F
  SecretKey : zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG
  API       : S3v4
  Lookup    : auto

s3
  URL       : https://s3.amazonaws.com
  AccessKey : YOUR-ACCESS-KEY-HERE
  SecretKey : YOUR-SECRET-KEY-HERE
  API       : S3v4
  Lookup    : dns
[root@k8s-master minio]# mc config host add miniodev130 http://10.8.208.130:9000 minioadmin minioadmin

Added `miniodev130` successfully.

watch命令 - 监听文件和对象存储事件

watch 命令提供了一种方便监听对象存储和文件系统上不同类型事件的方式

用法:
  mc watch [FLAGS] PATH

FLAGS:
  --events value                   过滤不同类型的事件,默认是所有类型的事件 (默认: "put,delete,get")
  --prefix value                   基于前缀过滤事件。
  --suffix value                   基于后缀过滤事件。
  --recursive                      递归方式监听事件。
  --help, -h                       显示帮助。

示例:监听对象存储的所有事件

[root@localhost bin]# mc watch miniotest/images
[2020-09-16T06:59:50.002Z] 309 KiB ObjectCreated http://192.168.133.122:9000/images/img_beveragerobot.png
[2020-09-16T07:04:10.374Z]        ObjectRemoved http://192.168.133.122:9000/images/img_beveragerobot.png

395

Policy 命令 - 管理存储桶策略

管理匿名访问存储桶和其内部内容的策略

用法:
  mc policy [FLAGS] PERMISSION TARGET
  mc policy [FLAGS] TARGET
  mc policy list [FLAGS] TARGET

PERMISSION:
  Allowed policies are: [none, download, upload, public].

FLAGS:
  --help, -h                       显示帮助。

示例:显示当前桶的策略

[root@localhost bin]# mc policy list miniotest/images
images/* => readonly

find 命令 - 查找文件和对象

find 命令通过指定参数查找文件,它只列出满足条件的数据

用法:
  mc find PATH [FLAGS]

FLAGS:
  --help, -h                       显示帮助。
  --exec value                     为每个匹配对象生成一个外部进程(请参阅FORMAT)
  --name value                     查找匹配通配符模式的对象。
  ...
  ...

示例:查找后缀为 .jpg 的文件

[root@localhost bin]# mc find miniotest/images --name "*.jpg"
miniotest/images/123.jpg
miniotest/images/微信图片_20200814102816.jpg

cp 命令 - 拷贝对象

cp命令拷贝一个或多个源文件目标输出。所有到对象存储的拷贝操作都进行了MD4SUM checkSUM校验。可以从故障点恢复中断或失败的复制操作。

用法:
   mc cp [FLAGS] SOURCE [SOURCE...] TARGET

FLAGS:
  --help, -h                       显示帮助。
  --recursive, -r          递归拷贝。

示例:MinIO 中文件夹中的文件转移 (递归复制需带上参数 --recursive)

[root@k8s-master ~]# mc cp --recursive miniodev/app/service/ miniodev/image/service/
...9001/app/service/img_water.png:  3.58 MiB / 3.58 MiB ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 1.28 MiB/s 2s

mirror 命令 - 存储桶镜像

mirror命令和rsync类似,只不过它是在文件系统和对象存储之间做同步。

用法:
   mc mirror [FLAGS] SOURCE TARGET

FLAGS:
  --help, -h                       显示帮助。
  --force              强制覆盖已经存在的目标。
  --fake               模拟一个假的操作。
  --watch, -w                      监听改变并执行镜像操作。
  --remove             删除目标上的外部的文件。

示例

[root@k8s-master minio]# mc mirror miniodev/image miniodev130/image
.../image/specialdish/img_food03.png:  322.11 MiB / 322.11 MiB ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 15.79 MiB/s 20s

share 命令 - 共享

share 命令安全地授予上传或下载的权限。此访问只是临时的,与远程用户和应用程序共享也是安全的。如果你想授予永久访问权限,你可以看看mc policy命令。

生成的网址中含有编码后的访问认证信息,任何企图篡改URL的行为都会使访问无效。想了解这种机制是如何工作的,请参考Pre-Signed URL技术。

用法:
   mc share [FLAGS] COMMAND

FLAGS:
  --help, -h                       显示帮助。

COMMANDS:
   download   生成有下载权限的URL。
   upload     生成有上传权限的URL。
   list       列出先前共享的对象和文件夹。

share download - 共享下载

share download命令生成不需要access key和secret key即可下载的URL,过期参数设置成最大有效期(不大于7天),过期之后权限自动回收。

用法:
   mc share download [FLAGS] TARGET [TARGET...]

FLAGS:
  --help, -h                       显示帮助。
  --recursive, -r          递归共享所有对象。
  --expire, -E "168h"          设置过期时限,NN[h|m|s]

示例: 生成一个对一个对象有4小时访问权限的URL。

mc share download --expire 4h play/mybucket/myobject.txt
URL: https://play.min.io/mybucket/myobject.txt
Expire: 0 days 4 hours 0 minutes 0 seconds
Share: https://play.min.io/mybucket/myobject.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=Q3AM3UQ867SPQQA43P2F%2F20160408%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20160408T182008Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=1527fc8f21a3a7e39ce3c456907a10b389125047adc552bcd86630b9d459b634

share upload - 共享上传

share upload命令生成不需要access key和secret key即可上传的URL。过期参数设置成最大有效期(不大于7天),过期之后权限自动回收。 Content-type参数限制只允许上传指定类型的文件。

用法:
   mc share upload [FLAGS] TARGET [TARGET...]

FLAGS:
  --help, -h                       显示帮助。
  --recursive, -r              递归共享所有对象。
  --expire, -E "168h"          设置过期时限,NN[h|m|s].

示例: 生成一个curl命令,赋予上传到play/mybucket/myotherobject.txt的权限。

Copymc share upload play/mybucket/myotherobject.txt
URL: https://play.min.io/mybucket/myotherobject.txt
Expire: 7 days 0 hours 0 minutes 0 seconds
Share: curl https://play.min.io/mybucket -F x-amz-date=20160408T182356Z -F x-amz-signature=de343934bd0ba38bda0903813b5738f23dde67b4065ea2ec2e4e52f6389e51e1 -F buck

share list - 列出之前的共享

share list列出没未过期的共享URL。

用法:
   mc share list COMMAND

COMMAND:
   upload:   列出先前共享的有上传权限的URL。
   download: 列出先前共享的有下载权限的URL。

MinIO Admin 完全指南

[root@localhost bin]# mc admin --json info miniotest
{
    "status": "success",
    "info": {
        "mode": "online",
        "sqsARN": [
            "arn:minio:sqs::_:redis"
        ],
        "deploymentID": "073da1f1-6e35-4f8a-a6b1-48556d0b2fb9",
        "buckets": {
            "count": 2
        },
        "objects": {
            "count": 1
        },
        "usage": {
            "size": 4266223
        },
        "services": {
            "vault": {
                "status": "disabled"
            },
            "ldap": {},
            "notifications": [
                {
                    "redis": [
                        {
                            "_": {
                                "status": "Online"
                            }
                        }
                    ]
                }
            ]
        },
        "backend": {
            "backendType": "FS"
        },
        "servers": [
            {
                "state": "ok",
                "endpoint": "192.168.133.122:9000",
                "uptime": 3891,
                "version": "2020-07-18T18:48:16Z",
                "commitID": "17747db93f9e2ef2450945feb082d0988dbd0a2f",
                "network": {
                    "192.168.133.122:9000": "online"
                }
            }
        ]
    }
}

你可能感兴趣的:(MinIO)