Minio⼊门系列【5】MinIOClient使⽤详解
简介
MinIO Client 简称mc,是minio服务器的客户端,对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 输出版本信息。
Centos 7 安装mc
下载mc:
find查命令的使用
[root@hadoop001 minio]# wget /client/mc/release/linux-amd64/mc
[root@hadoop001 minio]# chmod +x mc
[root@hadoop001 minio]# mv mc /usr/bin/
# 查看帮助
[root@hadoop001 minio]# mc -h
添加服务器节点:
[root@hadoop001 minio]# mc config host add s3 192.168.58.201:9000 admin admin123 --api s3v4 [root@hadoop001 minio]# mc config host ls
# 查看s3下的所有存储桶
[root@hadoop001 minio]# mc ls s3
可以看到当前我们添加名称为s3的节点,及这个节点下的所有存储桶:
常⽤命令
1. ls 列出存储桶和对象
ls命令列出⽂件、对象和存储桶。使⽤–incomplete flag可列出未完整拷贝的内容。
⽤法:
mc ls[FLAGS] TARGET [TARGET ...]
FLAGS:
--help, -h 显⽰帮助。
--recursive, -r 递归。
--incomplete, -I 列出未完整上传的对象。
⽰例: 列出所有s3上的存储桶。
[root@hadoop001 minio]# mc ls s3
⽰例: 列出所有s3上的存储桶qqqqq下的⽂件。
[root@hadoop001 minio]# mc ls s3/qqqqq
2. mb命令 - 创建存储桶
mb命令在对象存储上创建⼀个新的存储桶。在⽂件系统,它就和mkdir -p命令是⼀样的。存储桶相当于⽂件系统中的磁盘或挂载点,不应视为⽂件夹。MinIO对每个⽤户创建的存储桶数量没有限制。 在Amazon S3上,每个帐户被限制为100个存储桶。
⽤法:
mc mb [FLAGS] TARGET []
FLAGS:
--help, -h 显⽰帮助。
--region "us-east-1"指定存储桶的region,默认是‘us-east-1’.
⽰例:在s3上创建⼀个名叫"mybucket"的存储桶。
[root@hadoop001 minio]# mc mb s3/mybucket
3. cat命令 - 合并对象
cat命令将⼀个⽂件或者对象的内容合并到另⼀个上。你也可以⽤它将对象的内容输出到stdout。
⽤法:
mc cat[FLAGS] SOURCE []
FLAGS:
--help, -h 显⽰帮助。
⽰例: 显⽰⽂件的内容
[root@hadoop001 minio]# mc cat s3/
4. pipe命令 - Pipe到对象
pipe命令拷贝stdin⾥的内容到⽬标输出,如果没有指定⽬标输出,则输出到stdout。
⽤法:
mc pipe [FLAGS][TARGET]
FLAGS:
--help, -h 显⽰帮助。
⽰例: 将MySQL数据库dump⽂件输出到Amazon S3。
mysqldump -u root -p ******* accountsdb |mc pipe s3/sql-backups/backups/accountsdb-oct-9-2015.sq
l
5. cp命令 - 拷贝对象
cp命令拷贝⼀个或多个源⽂件⽬标输出。所有到对象存储的拷贝操作都进⾏了MD4SUM checkSUM校验。可以从故障点恢复中断或失败的复制操作。
mc cp[FLAGS] SOURCE [] TARGET
FLAGS:
--help, -h 显⽰帮助。
--recursive, -r 递归拷贝。
⽰例: 拷贝⼀个本地⽂本⽂件到对象存储s3/aaaa。
[root@hadoop001 minio]# mc cp starh.sh s3/aaaa
6. rm命令 - 删除存储桶和对象。
使⽤rm命令删除⽂件对象或者存储桶。
⽤法:
mc rm[FLAGS] TARGET [TARGET ...]
FLAGS:
--help, -h 显⽰帮助。
--recursive, -r 递归删除。
--force 强制执⾏删除操作。
--prefix 删除批配这个前缀的对象。
--incomplete, -I 删除未完整上传的对象。
--fake 模拟⼀个假的删除操作。
-
-stdin 从STDIN中读对象列表。
--older-than value 删除N天前的对象(默认是0天)。
⽰例: 删除⼀个对象。
[root@hadoop001 minio]# mc rm s3/aaaa/starh.sh
⽰例:删除⼀个存储桶并递归删除⾥⾯所有的内容。由于这个操作太危险了,你必须传–force参数指定强制删除。
[root@hadoop001 minio]# mc rm --recursive --force s3/qqqqq
⽰例: 从mybucket⾥删除所有未完整上传的对象。
[root@hadoop001 minio]# mc rm --incomplete --recursive --force s3/mybucket
⽰例: 删除⼀天前的对象。
[root@hadoop001 minio]# mc rm --force --older-than=1 s3/mybucket/oldsongs
7. share命令 - 共享
share命令安全地授予上传或下载的权限。此访问只是临时的,与远程⽤户和应⽤程序共享也是安全的。如果你想授予永久访问权限,你可以看看mc policy命令。
⽣成的⽹址中含有编码后的访问认证信息,任何企图篡改URL的⾏为都会使访问⽆效。想了解这种机制是如何⼯作的,请参考Pre-Signed URL技术。
mc share [FLAGS] COMMAND
FLAGS:
--help, -h 显⽰帮助。
COMMANDS:
download ⽣成有下载权限的URL。
upload ⽣成有上传权限的URL。
list 列出先前共享的对象和⽂件夹。
8. ⼦命令share download - 共享下载
share download命令⽣成不需要access key和secret key即可下载的URL,过期参数设置成最⼤有效期(不⼤于7天),过期之后权限⾃动回收。
⽤法:
mc share download [FLAGS] TARGET []
FLAGS:
--help, -h 显⽰帮助。
--recursive, -r 递归共享所有对象。
--expire, -E "168h"设置过期时限,NN[h|m|s]。
⽰例: ⽣成⼀个对⼀个对象有4⼩时访问权限的URL。
[root@hadoop001 minio]# mc share download --expire 4h s3/
9. ⼦命令share upload - 共享上传
share upload命令⽣成不需要access key和secret key即可上传的URL。过期参数设置成最⼤有效期(不⼤于7天),过期之后权限⾃动回收。 Content-type参数限制只允许上传指定类型的⽂件。
⽤法:
mc share upload [FLAGS] TARGET []
FLAGS:
--help, -h 显⽰帮助。
--recursive, -r 递归共享所有对象。
--expire, -E "168h"设置过期时限,NN[h|m|s].
⽰例: ⽣成⼀个curl命令,赋予上传到play/的权限。
[root@hadoop001 minio]# mc share upload s3/
10. ⼦命令share list - 列出之前的共享
share list列出没未过期的共享URL。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论