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 -o
和set +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