MinIO:客户端mc

简介

MinIO Client (mc)为ls,cat,cp,mirror,diff,find等UNIX命令提供了一种替代方案。它支持文件系统和兼容Amazon S3的云存储服务(AWS Signature v2和v4)。

ls       列出文件和文件夹。
mb       创建一个存储桶或一个文件夹。
cat      显示文件和对象内容。
pipe     将一个STDIN重定向到一个对象或者文件或者STDOUT。
share    生成用于共享的URL。
cp       拷贝文件和对象。
mirror   给存储桶和文件夹做镜像。
find     基于参数查找文件。
diff     对两个文件夹或者存储桶比较差异。
rm       删除文件和对象。
events   管理对象通知。
watch    监听文件和对象的事件。
policy   管理访问策略。
session  为cp命令管理保存的会话。
config   管理mc配置文件。
update   检查软件更新。
version  输出版本信息。

安装

wget http://dl.minio.org.cn/client/mc/release/linux-amd64/mc
chmod +x mc
#这里minio的文件加是我存放mc文件的路径
vi ~/.bashrc
export PATH=$PATH:/opt/soft/minio

source ~/.bashrc
mc --help

image-20210714201426956

通过提示,我们发现mc默认的配置目录是在/home/admin/.mc

配置文件

vi /home/admin/.mc/config.json

image-20210714201604100

根据你自己的minio账号密码去修改

测试

下文只演示部分命令

查看所有存储桶

mc ls local

image-20210714202546289

列出了本地全部的存储桶.

创建存储桶

在local中创建名为test的存储桶

mc mb local/test

image-20210714202831086

拷贝文件到存储桶

#先创建一个文本文件
ps -ef | grep java > test.txt
#上传text.txt文件到local的test存储桶下面
mc cp test.txt local/test

image-20210714203258082

Pipe到对象

pipe命令拷贝stdin里的内容到目标输出,如果没有指定目标输出,则输出到stdout。

#将ps -ef | grep java的结果输出到local/test存储桶下面test2.txt文件中
ps -ef | grep java | mc pipe local/test/test2.txt

image-20210714203603680

合并对象

cat命令将一个文件或者对象的内容合并到另一个上。你也可以用它将对象的内容输出到stdout。

mc cat local/test/test.txt

image-20210714203652402

删除存储桶和对象

mc rm local/test/test.txt

image-20210714203749264

#删除存储桶时,必须加上--recursive --force这两个选项
mc rm --recursive --force local/test

image-20210714203856260

存储桶镜像

在文件系统和对象存储之间做同步

将一个本地文件夹镜像到local/test存储桶。

mc mirror /opt/apache-skywalking-apm-bin local/test

image-20210714205633291

持续监听本地文件夹修改并镜像到local/test存储桶。

mc mirror -w /opt/apache-skywalking-apm-bin local/test

image-20210714205818333

查找文件和对象

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

用法:
  mc find PATH [FLAGS]

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

实例:持续从local/test存储桶中查找所有txt文件,并复制到minio "local/buc1"存储桶

mc find local/test --name "*.txt" --watch --exec "mc cp {} local/buc1"

image-20210714210206259

显示差异

diff命令计算两个目录之间的差异。它只列出缺少的或者大小不同的内容。

实例:显示本地/opt/apache-skywalking-apm-bin/local/test存储桶的差异

mc diff /opt/apache-skywalking-apm-bin/ local/test

image-20210714210307914

监听文件和对象存储事件

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

用法:
  mc watch [FLAGS] PATH

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

示例:

mc watch local/test

image-20210714210745723

管理存储桶策略

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

用法:
  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                       显示帮助。

设置可以下载

mc policy set download local/test/bin

image-20210714211229750

查看策略:

mc policy list local/test/bin

image-20210714211255008

删除当前的匿名存储桶策略

mc policy set none local/test/bin

image-20210714211331286

管理配置文件

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

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

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

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

添加MinIO服务的access和secret key到配置文件,注意,shell的history特性可能会记录这些信息,从而带来安全隐患。在bash shell,使用set -oset +o来关闭和开启history特性。

set +o history
mc config host add myminio http://localhost:9000 minioadmin minioadmin
set -o history

image-20210714212413613

软件更新

https://dl.min.io检查软件更新。Experimental标志会检查unstable实验性的版本,通常用作测试用途。

Copy用法:
  mc update [FLAGS]

FLAGS:
  --quiet, -q  关闭控制台输出。
  --json       使用JSON格式输出。
  --help, -h   显示帮助。

示例: 检查更新

mc update

image-20210714212510428

显示版本信息

mc --version

image-20210714212542283

原文地址:https://www.cnblogs.com/wwjj4811/p/15013253.html