【学习记录】使用MinIO的一些心得

提示:使用MinIO的一些心得


提示:以下是本篇文章正文内容,下面案例可供参考
总结一些使用心得:参考MinIO的命令行使用

1.MinIO Client配置

在进行如下上传与删除操作时,需要先配置MinIO Client。如下操作:

1、使用命令给客户端添加一个服务端

./mc alias set minio http://125.220.153.22:9006 rssample ypfamily608

成功标志是

Added minio successfully.

2、查询所有bucket

./mc ls minio

在这里插入图片描述
一旦可以查询出来已有的所有的桶,即说明mc配置成功,可以进行下一步操作

2.MinIO上传文件

如果上传的是 单个文件 或者 单个文件夹下的多个文件,可以 直接用图形化管理界面上传 就行。
但是如果上传的是多个文件夹,还是得用linux的命令行方式才行。
如下图所示,关键是mc这个配置文件,只有到拥有该文件的目录下运行linux的命令,才是对MinIO有效的,当然,可以将该文件进行迁移到任意目录下。
在这里插入图片描述

然后在具体一些MinIO命令可以参考MinIO Client完全指南
这里以上传多个文件夹为例子,使用的是 mc cp --recursive 源文件夹目录 目标文件夹目录 命令
注意得是,目标文件夹目录指的是 minio/桶名称/文件夹路径 一定不能忘了加 minio

并且minio的路径设置与linux不同,如果将/xxx/example1文件夹放到minio/xxx/example1下面,必须在minio有一个一模一样的example1文件夹才行,因为/xxx/example1只是将example1里面的内容传输,不包括example1本身。

(base) geocube@gisweb1:~/oge$ ./mc cp --recursive /mnt/storage/oge_COG_testData/Sentinel/Sentinel2/ minio/oge/Sentinel/Sentinel2/

值得注意的是,minio提供了另外一种命令是mirror。当你觉得cp命令的性能不好时时,可以使用,用法与cp大同小异

mc mirror

  1. 用途:用于同步两个目录或存储桶之间的内容。这包括复制文件,也包括删除目标目录中在源目录中不存在的文件。
  2. 最佳适用场景:适合于数据备份、数据同步,或者当你需要保持两个目录或存储桶内容一致时。
  3. 行为:可以通过命令行选项(比如--overwrite)来控制是否覆盖目标中的同名文件。
  4. 增量复制:默认进行增量复制,仅复制有变化的文件。
./mc mirror --overwrite=false rssample/pytdml baiduCloud/pytdml

mc cp

  1. 用途:用于将文件或目录从一个位置复制到另一个位置。
  2. 最佳适用场景:当你需要复制特定文件或目录,而不需要源和目标之间完全同步时。
  3. 行为:默认会覆盖目标位置的同名文件,除非手动检查。
  4. 单次操作:通常用于一次性的复制操作。

3.MinIO删除文件

使用如下命令,即可删除minio中指定文件,切记不用使用-r,会有大bug

./mc rm --force  minio/oge/Landsat/Landsat8/xxx.tif

使用如下命令,即可删除minio中指定文件夹,切记不用使用-r,会有大bug

./mc rm --recursive --force  minio/oge/Landsat/Landsat8

4.MinIO启动与关闭

MinIO的启动可以使用如下脚本.sh。

#! /bin/bash
echo "XX服务器密码" | sudo -S iptables -AINPUT -ptcp --dport 9006 -jACCEPT
PID=$(echo "XX服务器密码" | sudo -S netstat -nlp | grep :9006 | awk '{print $7}' | awk -F"/" '{ print $1 }')
if [ -z $PID ]
then
 echo The MinIO is already stopped
 echo The MinIO is starting
 echo "XX服务器密码" | sudo -S rm loadSc.log
 echo "XX服务器密码" | sudo -S MINIO_ROOT_USER=MinIO账号 MINIO_ROOT_PASSWORD=MinIO密码 nohup ./minio server --address 0.0.0.0:9006 --console-address 0.0.0.0:9007 http://服务器ip/mnt/storage/RssampleData1 http://服务器ip/mnt/storage/RssampleData http://服务器ip/mnt/storage/RssampleData http://服务器ip/mnt/storage/RssampleData1   >>/home/rssample/loadSc.log 2>&1 &
 echo start end
else
 echo The MinIO is already started, now restarting
 rm loadSc.log
 echo kill $PID
 echo "XX服务器密码" | sudo -S kill -9 $PID
 echo "XX服务器密码" | sudo -S MINIO_ROOT_USER=MinIO账号 MINIO_ROOT_PASSWORD=MinIO密码 nohup ./minio server --address 0.0.0.0:9006 --console-address 0.0.0.0:9007 http://服务器ip/mnt/storage/RssampleData1 http://服务器ip/mnt/storage/RssampleData http://服务器ip/mnt/storage/RssampleData http://服务器ip/mnt/storage/RssampleData1   >>/home/rssample/loadSc.log 2>&1 &
 echo restart end
fi

但是有可能使用这个脚本时,报错说“已经有某个特定进程占用了该端口”,其实就是使用这个脚本后,可能某些内部进程为“僵尸进程”,这时候只要彻底关闭MinIO的进程即可,使用下面的命令:

  1. 查找进程:
ps aux | grep minio

这个命令会列出所有含有"minio"的进程。

  1. 杀死所有MinIO进程:
kill $(pidof minio)
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值