编辑
2023-06-15
Linux
00

目录

简要配置介绍,后续再做JAVA部署搭建介绍和api调用集成介绍
在 MinIO 中仅移动根目录下的文件
1. 过滤根目录的文件
2. 移动文件
3. 验证操作
更新版本:

简要配置介绍,后续再做JAVA部署搭建介绍和api调用集成介绍

  1. 下载 MinIO Server
bash
wget https://dl.min.io/server/minio/release/linux-amd64/minio
  1. 赋予 MinIO Server 执行权限
bash
chmod +x minio
  1. 以后台模式启动 MinIO Server
bash
export MINIO_ROOT_USER=minioadmin export MINIO_ROOT_PASSWORD=minioadmin export MINIO_CONSOLE_PORT=9011 nohup ./minio server /home/ctm/files/data > minio.log 2>&1 &
  1. 下载并设置 MinIO Client
bash
wget https://dl.min.io/client/mc/release/linux-amd64/mc chmod +x mc ./mc alias set myminio http://127.0.0.1:9000 minioadmin minioadmin
  1. 设置桶策略
bash
./mc policy set download myminio/files
  1. NGINX 配置 将以下配置添加到你的 NGINX 配置文件中:
bash
location /files/ { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://128.199.12.58:9000; }

然后重启 NGINX。

image.png

在 MinIO 中仅移动根目录下的文件

为了确保只操作位于根目录下的文件,我们可以使用 mc 命令与 awk 工具来精确选择和移动文件。以下是详细步骤:

image.png

1. 过滤根目录的文件

下面的正则表达式将被设计来捕捉位于顶层的文件,这个命令尝试匹配行尾部没有任何斜杠的文件名,这意味着文件直接位于根目录:

bash
mc ls myminio/cloud-drive/ --recursive | grep -E '^[^/]*$'

2. 移动文件

将过滤得到的根目录文件移动到指定目录,例如 softwares,使用以下脚本实现:

bash
#!/bin/sh /home/ctm/evn/minio-updated-version/mc ls myminio/cloud-drive/ --recursive | grep -E '^[^/]*$' | while read -r line; do filename=$(echo $line | awk '{print $NF}') # 提取最后一个字段作为文件名 echo "Moving $filename" /home/ctm/evn/minio-updated-version/mc mv "myminio/cloud-drive/$filename" "myminio/cloud-drive/softwares/$filename" done

image.png

3. 验证操作

操作完成后,使用以下命令检查 softwares 目录,以确认所有预期的文件都已经被正确移动:

bash
mc ls myminio/cloud-drive/softwares/

这种方法确保了只有根目录下的文件被选中并移动,避免了任何子目录文件的干扰,使得操作过程更为精确和安全。

更新版本:

image.png

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Golovin

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!