1. 程式人生 > 其它 >MinIO:客戶端mc

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

通過提示,我們發現mc預設的配置目錄是在/home/admin/.mc

配置檔案

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

根據你自己的minio賬號密碼去修改

測試

下文只演示部分命令

檢視所有儲存桶

mc ls local

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

建立儲存桶

在local中建立名為test的儲存桶

mc mb local/test

拷貝檔案到儲存桶

#先建立一個文字檔案
ps -ef | grep java > test.txt
#上傳text.txt檔案到local的test儲存桶下面
mc cp test.txt local/test

Pipe到物件

pipe命令拷貝stdin裡的內容到目標輸出,如果沒有指定目標輸出,則輸出到stdout。

#將ps -ef | grep java的結果輸出到local/test儲存桶下面test2.txt檔案中
ps -ef | grep java | mc pipe local/test/test2.txt

合併物件

cat命令將一個檔案或者物件的內容合併到另一個上。你也可以用它將物件的內容輸出到stdout。

mc cat local/test/test.txt

刪除儲存桶和物件

mc rm local/test/test.txt
#刪除儲存桶時,必須加上--recursive --force這兩個選項
mc rm --recursive --force local/test

儲存桶映象

在檔案系統和物件儲存之間做同步

將一個本地資料夾映象到local/test儲存桶。

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

持續監聽本地資料夾修改並映象到local/test儲存桶。

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

查詢檔案和物件

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"

顯示差異

diff命令計算兩個目錄之間的差異。它只列出缺少的或者大小不同的內容。

例項:顯示本地/opt/apache-skywalking-apm-bin/local/test儲存桶的差異

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

監聽檔案和物件儲存事件

watch命令提供了一種方便監聽物件儲存和檔案系統上不同型別事件的方式。

用法:
  mc watch [FLAGS] PATH

FLAGS:
  --events value                   過濾不同型別的事件,預設是所有型別的事件 (預設: "put,delete,get")
  --prefix value                   基於字首過濾事件。
  --suffix value                   基於字尾過濾事件。
  --recursive                      遞迴方式監聽事件。
  --help, -h                       顯示幫助。

示例:

mc watch local/test

管理儲存桶策略

管理匿名訪問儲存桶和其內部內容的策略。

用法:
  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

檢視策略:

mc policy list local/test/bin

刪除當前的匿名儲存桶策略

mc policy set none local/test/bin

管理配置檔案

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

軟體更新

https://dl.min.io檢查軟體更新。Experimental標誌會檢查unstable實驗性的版本,通常用作測試用途。

Copy用法:
  mc update [FLAGS]

FLAGS:
  --quiet, -q  關閉控制檯輸出。
  --json       使用JSON格式輸出。
  --help, -h   顯示幫助。

示例: 檢查更新

mc update

顯示版本資訊

mc --version