rclone导出minio上文件到本地

rclone下载地址: https://rclone.org/downloads/

在将文件从 CentOS 上的 MinIO 导出到 Windows 系统本地时,需要在 CentOS 上安装 rclone 工具,并将其配置为连接到 MinIO。然后,在 Windows 系统上也需要安装 rclone,并使用相同的配置文件连接到 MinIO。接着,在 Windows 系统上执行相应的 rclone 命令,将文件从 MinIO 下载到本地。

换句话说,rclone 是一个跨平台的工具,您可以在不同的操作系统上安装并使用它,以连接到不同的云存储或 S3 兼容存储,包括 MinIO。因此,在这种情况下,您需要在 CentOS 和 Windows 系统上都安装 rclone,并进行相应的配置。

如果您已经在 Windows 系统上安装了 rclone,并且已经将其配置为连接到 MinIO,那么您只需要在 CentOS 上安装 rclone,并将其配置为连接到相同的 MinIO,然后就可以执行相应的 rclone 命令将文件导出到 Windows 系统本地。

centos上安装rclone:

curl https://rclone.org/install.sh | sudo bash

如果网络不好建议先下载到本地,然后上传到服务器  
``` shell
# 下载文件
wget https://downloads.rclone.org/v1.57.0/rclone-v1.57.0-linux-amd64.zip
# 解压文件
unzip rclone-v1.57.0-linux-amd64.zip
# 给一下权限
chmod 0755 ./rclone-v1.57.0-linux-amd64/rclone
# 拷贝到 /usr/bin/ 可以直接使用 rclone命令
cp ./rclone-v1.57.0-linux-amd64p/rclone /usr/bin/
# 删除源文件
rm -rf ./rclone-v1.56.0-linux-amd64.zip

配置

可以使用rclone config按照提示一步步配置,也可以使用配置文件/root/.config/rclone/rclone.conf

touch /root/.config/rclone/rclone.conf
vi /root/.config/rclone/rclone.conf
[minio]
type = s3
provider = Minio
env_auth = false
access_key_id = 3YeKqRULrw3*
secret_access_key = L7KK0cY*
region = us-east-1
endpoint = http://192.168.111.111:9000
location_constraint =
server_side_encryption =

这个配置文件是 rclone 的配置文件,用于指定 rclone 连接到远程存储的参数。文件中的 [minio] 是一个远程存储的名称,您可以使用该名称来执行 rclone 命令中的操作。例如,使用 rclone ls minio: 命令可以列出 minio 存储桶中的文件。

下面是这个配置文件中各个字段的意义:

  • type = s3:指定存储类型为 S3,即 rclone 将使用 S3 协议连接到远程存储。
  • provider = Minio:指定存储提供商为 Minio。这个字段不是必须的,但如果您使用 Minio 存储,则可以将其设置为 Minio
  • env_auth = false:禁用环境变量认证。这个字段指示 rclone 不会使用环境变量中的访问密钥 ID 和密钥进行认证。
  • access_key_id = 3YeKqRULrw3*:指定连接 Minio 存储时使用的访问密钥 ID。
  • secret_access_key = L7KK0cY*:指定连接 Minio 存储时使用的密钥。
  • region = us-east-1:指定 Minio 存储桶的区域。这个字段不是必须的,但如果您的 Minio 存储桶有指定区域,则可以将其设置为对应的区域。
  • endpoint = http://192.168.111.111:9000:指定 Minio 存储的 API 端点。这个字段指示 rclone 使用该 URL 连接到 Minio 存储,进行文件传输等操作。
  • location_constraint =:指定 Minio 存储桶的地理位置限制。这个字段不是必须的,但如果您的 Minio 存储桶有指定地理位置限制,则可以将其设置为对应的限制。
  • server_side_encryption =:指定使用的服务端加密算法。这个字段不是必须的,但如果您的 Minio 存储桶有开启服务端加密,则可以将其设置为对应的加密算法。

总的来说,这个配置文件中的参数是连接到 Minio 存储所需的基本参数,其中访问密钥 ID 和密钥是最重要的,它们用于进行认证和授权。其他的参数可以根据实际情况进行设置,以满足您的需求。

查看minio内信息

查看minio内桶列表 注意minio后面有冒号 :
rclone lsd minio:
查看桶内文件
rclone lsd minio:test

导出minos上文件至本地(如果在centos上使用就是导至centos上,在windows上使用就是导至windows本地)

mkdir other
rclone copy minio:test other/
ls other

使用 rclone sync 命令同步文件。以下命令将同步远程文件夹 /path/to/linux/folder 到本地的 C:\mydata 目录中

rclone sync minio:test C:\mydata

如果本地存在minio软件 配置文件如下

[oldminio]
type = s3
provider = Minio
env_auth = false
access_key_id = 3YeKqRULrw3*
secret_access_key = L7KK0cY*
region = us-east-1
endpoint = http://192.168.111.111:9000
location_constraint =
server_side_encryption =

[newminio]
type = s3
provider = Minio
env_auth = false
access_key_id = 3YeKqRULrw3*
secret_access_key = L7KK0cY*
region = us-east-1
endpoint = http://192.168.111.112:9000
location_constraint =
server_side_encryption =
rclone copy oldminio:test newminio:test

上面执行后就会把旧的minio中的test Bucket迁移到新的minio中

 

在这个命令中,remote 是您在 rclone config 中定义的远程名称。使用 sync 命令可以将目标目录与源目录同步,确保它们的内容相同。

如果您希望在后续同步操作中增量同步文件,可以使用 sync 命令的 --update--ignore-existing 选项。这些选项将只同步目标目录中不存在的文件或者更新时间较新的文件,而不会覆盖目标目录中已经存在的文件。

rclone sync --update minio:test C:\mydata 
rclone sync
--ignore-existing minio:test C:\mydata

 

posted @ 2023-04-14 14:09  study_php_java_C++  阅读(1238)  评论(0编辑  收藏  举报