Minio入门系列【5】MinIOClient使用详解

Minio入门系列【5】MinIOClient使用详解

2023年7月26日发(作者:)

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:[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/qqqqq2. 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/mybucket3. cat命令 - 合并对象cat命令将⼀个⽂件或者对象的内容合并到另⼀个上。你也可以⽤它将对象的内容输出到stdout。⽤法: mc cat [FLAGS] SOURCE []FLAGS: --help, -h 显⽰帮助。⽰例: 显⽰⽂件的内容[root@hadoop001 minio]# mc cat s3/mybucket/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/5. cp命令 - 拷贝对象cp命令拷贝⼀个或多个源⽂件⽬标输出。所有到对象存储的拷贝操作都进⾏了MD4SUM checkSUM校验。可以从故障点恢复中断或失败的复制操作。⽤法: mc cp [FLAGS] SOURCE [] TARGETFLAGS: --help, -h 显⽰帮助。 --recursive, -r 递归拷贝。⽰例: 拷贝⼀个本地⽂本⽂件到对象存储s3/aaaa。[root@hadoop001 minio]# mc cp s3/aaaa6. 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/

⽰例:删除⼀个存储桶并递归删除⾥⾯所有的内容。由于这个操作太危险了,你必须传–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/oldsongs7. share命令 - 共享share命令安全地授予上传或下载的权限。此访问只是临时的,与远程⽤户和应⽤程序共享也是安全的。如果你想授予永久访问权限,你可以看看mc policy命令。⽣成的⽹址中含有编码后的访问认证信息,任何企图篡改URL的⾏为都会使访问⽆效。想了解这种机制是如何⼯作的,请参考Pre-SignedURL技术。⽤法: mc share [FLAGS] COMMANDFLAGS: --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/aaaa/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/mybucket/的权限。[root@hadoop001 minio]# mc share upload s3/mybucket/10. ⼦命令share list - 列出之前的共享share list列出没未过期的共享URL。⽤法: mc share list COMMANDCOMMAND: upload: 列出先前共享的有上传权限的URL。 download: 列出先前共享的有下载权限的URL。11. mirror命令 - 存储桶镜像mirror命令和rsync类似,只不过它是在⽂件系统和对象存储之间做同步。⽤法: mc mirror [FLAGS] SOURCE TARGETFLAGS: --help, -h 显⽰帮助。 --force 强制覆盖已经存在的⽬标。 --fake 模拟⼀个假的操作。 --watch, -w 监听改变并执⾏镜像操作。 --remove 删除⽬标上的外部的⽂件。⽰例: 将⼀个本地⽂件夹minio镜像到上的’mybucket’存储桶。[root@hadoop001 minio]# mc mirror ../minio/ play/mybucket⽰例: 持续监听本地⽂件夹修改并镜像到上的’mybucket’存储桶。[root@hadoop001 minio]# mc mirror -w ../minio/ play/mybucket12 .find命令 - 查找⽂件和对象find命令通过指定参数查找⽂件,它只列出满⾜条件的数据。⽤法: mc find PATH [FLAGS]FLAGS: --help, -h 显⽰帮助。 --exec value 为每个匹配对象⽣成⼀个外部进程(请参阅FORMAT) --name value 查找匹配通配符模式的对象。 ... ...⽰例: 持续从s3存储桶中查找所有jpeg图像,并复制到minio "play/bucket"存储桶[root@hadoop001 minio]# mc find s3/bucket --name "*.jpg" --watch --exec "mc cp {} play/bucket"命令 - 显⽰差异diff命令计算两个⽬录之间的差异。它只列出缺少的或者⼤⼩不同的内容。它不⽐较内容,所以可能的是,名称相同,⼤⼩相同但内容不同的对象没有被检测到。这样,它可以在不同站点或者⼤量数据的情况下快速⽐较。⽤法: mc diff [FLAGS] FIRST SECONDFLAGS: --help, -h 显⽰帮助。⽰例: ⽐较⼀个本地⽂件夹和⼀个远程对象存储服务[root@hadoop001 minio]# mc diff localdir play/mybucket14. watch命令 - 监听⽂件和对象存储事件。watch命令提供了⼀种⽅便监听对象存储和⽂件系统上不同类型事件的⽅式。⽤法: mc watch [FLAGS] PATHFLAGS: --events value 过滤不同类型的事件,默认是所有类型的事件 (默认: "put,delete,get") --prefix value 基于前缀过滤事件。 --suffix value 基于后缀过滤事件。 --recursive 递归⽅式监听事件。 --help, -h 显⽰帮助。⽰例: 监听对象存储的所有事件[root@hadoop001 minio]# mc watch s3/aaaa⽰例: 监听本地⽂件夹的所有事件[root@hadoop001 minio]# mc watch ~/Photos15. events命令 - 管理存储桶事件通知。events提供了⼀种⽅便的配置存储桶的各种类型事件通知的⽅式。MinIO事件通知可以配置成使⽤AMQP,Redis,ElasticSearch,NATS和PostgreSQL服务。MinIO configuration提供了如何配置的更多细节。⽤法: mc events COMMAND [COMMAND FLAGS | -h] []COMMANDS: add 添加⼀个新的存储桶通知。 remove 删除⼀个存储桶通知。使⽤'--force'可以删除所有存储桶通知。 list 列出存储桶通知。FLAGS: --help, -h 显⽰帮助。⽰例: 列出所有存储桶通知。mc events list play/andoria⽰例: 添加⼀个新的’sqs’通知,仅接收ObjectCreated事件。mc events add play/andoria arn:minio:sqs:us-east-1:1:your-queue --events put⽰例: 添加⼀个带有过滤器的’sqs’通知。给sqs通知添加prefix和suffix过滤规则。mc events add play/andoria arn:minio:sqs:us-east-1:1:your-queue --prefix photos/ --suffix .jpg⽰例: 删除⼀个’sqs’通知mc events remove play/andoria arn:minio:sqs:us-east-1:1:your-queue16. policy命令 - 管理存储桶策略管理匿名访问存储桶和其内部内容的策略。⽤法: mc policy [FLAGS] PERMISSION TARGET mc policy [FLAGS] TARGET mc policy list [FLAGS] TARGETPERMISSION: Allowed policies are: [none, download, upload, public].FLAGS: --help, -h 显⽰帮助。⽰例: 显⽰当前匿名存储桶策略显⽰当前mybucket/myphotos/2020/⼦⽂件夹的匿名策略。mc policy play/mybucket/myphotos/2020/Access permission for ‘play/mybucket/myphotos/2020/’ is ‘none’⽰例:设置可下载的匿名存储桶策略。设置mybucket/myphotos/2020/⼦⽂件夹可匿名下载的策略。现在,这个⽂件夹下的对象可被公开访问。⽐如:mybucket/myphotos/2020/yourobjectname可通过这个URL /mybucket/myphotos/2020/yourobjectname访问。mc policy set download play/mybucket/myphotos/2020/Access permission for ‘play/mybucket/myphotos/2020/’ is set to 'download'⽰例:删除当前的匿名存储桶策略删除所有mybucket/myphotos/2020/这个⼦⽂件夹下的匿名存储桶策略。mc policy set none play/mybucket/myphotos/2020/Access permission for ‘play/mybucket/myphotos/2020/’ is set to 'none'17. config命令 - 管理配置⽂件config host命令提供了⼀个⽅便地管理~/.mc/配置⽂件中的主机信息的⽅式,你也可以⽤⽂本编辑器⼿动修改这个配置⽂件。⽤法: mc config host COMMAND [COMMAND FLAGS | -h] []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 historymc config host add myminio localhost:9000 OMQAGGOL63D7UNVQFY8X GcY5RHNmnEWvD/1QxD3spEIGj+Vt9L7eHaAaBTkJset -o history18. update命令 - 软件更新从检查软件更新。Experimental标志会检查unstable实验性的版本,通常⽤作测试⽤途。⽤法: mc update [FLAGS]FLAGS: --quiet, -q 关闭控制台输出。 --json 使⽤JSON格式输出。 --help, -h 显⽰帮助。⽰例: 检查更新mc updateYou are already running the most recent version of ‘mc’.19. version命令 - 显⽰版本信息显⽰当前安装的mc版本。⽤法: mc version [FLAGS]FLAGS: --quiet, -q 关闭控制台输出。 --json 使⽤JSON格式输出。 --help, -h 显⽰帮助。⽰例: 输出mc版本。mc versionVersion: 2016-04-01T00:22:11ZRelease-tag: RELEASE.2016-04-01T00-22-11ZCommit-id: 12adf3be326f5b6610cdd1438f72dfd861597fce

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1690362573a337990.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信