Rclone结合Minio Server

Rclone是一个开源的命令行程序,用来同步文件和目录进或者出云存储系统。它旨在成为"云存储的rsync"。

本文介绍了如何使用rclone来同步Minio Server。

1. 前提条件

首先从minio.io下载并安装Minio。

2. 安装

然后从rclone.org下载并安装Rclone。

3. 配置

当配置好后,Minio会输出下面的信息

  1. Endpoint: http://10.0.0.3:9000 http://127.0.0.1:9000 http://172.17.0.1:9000
  2. AccessKey: USWUXHGYZQYFYFFIT3RE
  3. SecretKey: MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
  4. Region: us-east-1
  5. 浏览器访问:
  6. http://10.0.0.3:9000 http://127.0.0.1:9000 http://172.17.0.1:9000
  7. 命令行访问: https://docs.minio.io/docs/minio-client-quickstart-guide
  8. $ mc config host add myminio http://10.0.0.3:9000 USWUXHGYZQYFYFFIT3RE MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
  9. Object API (Amazon S3 compatible):
  10. Go: https://docs.minio.io/docs/golang-client-quickstart-guide
  11. Java: https://docs.minio.io/docs/java-client-quickstart-guide
  12. Python: https://docs.minio.io/docs/python-client-quickstart-guide
  13. JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide

你现在需要将这些信息配置到rclone。

运行Rclone config,创建一个新的S3类型的remote,叫minio(你也可以改成别的名字),然后输入类似下面的信息:

(请注意,按照上面的说明,加入region参数,这很重要。)

  1. env_auth> 1
  2. access_key_id> USWUXHGYZQYFYFFIT3RE
  3. secret_access_key> MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
  4. region> us-east-1
  5. endpoint> http://10.0.0.3:9000
  6. location_constraint>
  7. server_side_encryption>

配置文件看起来就像这样

  1. [minio]
  2. env_auth = false
  3. access_key_id = USWUXHGYZQYFYFFIT3RE
  4. secret_access_key = MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03F
  5. region = us-east-1
  6. endpoint = http://10.0.0.3:9000
  7. location_constraint =
  8. server_side_encryption =

4. 命令

Minio目前并不支持所有的S3特性。特别是它不支持MD5校验(ETag)或者是元数据。这就表示Rclone不能通过MD5SUMs进行校验或者保存最后修改时间。不过你可以用Rclone的—size-only flag。

下面是一些示例命令

列举存储桶

  1. rclone lsd minio:

创建一个新的存储桶

  1. rclone mkdir minio:bucket

拷贝文件到存储桶

  1. rclone --size-only copy /path/to/files minio:bucket

从存储桶中拷贝文件

  1. rclone --size-only copy minio:bucket /tmp/bucket-copy

列举存储桶中的所有文件

  1. rclone ls minio:bucket

同步文件到存储桶 - 先试试—dry-run

  1. rclone --size-only --dry-run sync /path/to/files minio:bucket

然后再来真的

  1. rclone --size-only sync /path/to/files minio:bucket

更多示例以及文档,尽在Rclone web site,不要错过哦。

原文: https://docs.minio.io/cn/rclone-with-minio-server.html