S3存储服务间数据同步工具Rclone迁移教程

前言

目前大多项目我们都会使用各种存储服务,例如oss、cos、minio等。当然,因各种原因,可能需要在不同存储服务间进行数据迁移工作,所以今天就给大家介绍一个比较通用的数据迁移工具Rclone。

提示:以下是本篇文章正文内容,下面案例可供参考


一、Rclone是什么?

Rclone是一个命令行程序,用于管理云存储上的文件。它是云供应商Web存储界面的功能丰富的替代方案。超过40种云存储产品支持rclone,包括S3对象存储,业务和消费者文件存储服务以及标准传输协议。详细推荐直接官网学习:英文官网、中文网站


二、Rclone能做什么?

    备份(和加密)文件到云存储。
    从云存储还原(和解密)文件。
    将云数据镜像到其他云服务或本地。
    将数据迁移到云,或在云存储供应商之间迁移。
    将多个加密的,缓存的或多样化的云存储作为磁盘挂载。

三、使用步骤


1.安装Rclone

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

2.生成配置文件


配置可以随便选择,选择完成后重新修改就好了,文章后面会有修改方法。

rclone config

3、查看生成的配置文件

在路径/root/.config/rclone/rclone.conf(rclone.conf为配置文件生成时配置的名称)

cd /root/.config/rclone

4、修改配置文件

vim  /root/.config/rclone/rclone.conf

修改配置如下,请根据自己服务配置修改部分参数

[minio-zwy]
type = s3
env_auth = false
provider = Minio
region = cn-east-1
access_key_id = minioadmin
secret_access_key = minioadmin
endpoint = http://127.0.0.1:8000
[minio-lin]
type = s3
env_auth = false
provider = Minio
region = cn-east-1
access_key_id = minioadmin
secret_access_key = minioadmin
endpoint = http://127.0.0.99:8000

5、进行数据同步

zwy同步到lin

rclone sync minio-zwy:test minio-lin:test

   或者

lin同步到zwy

扫描二维码关注公众号,回复: 13712383 查看本文章
rclone sync minio-lin:test minio-zwy:test
rclone sync 源(配置文件名称): 源数据Bucket  目标源名称:目标bucket

6.常见命令

rclone config - 以控制会话的形式添加rclone的配置,配置保存在.rclone.conf文件中。
rclone copy - 将文件从源复制到目的地址,跳过已复制完成的。
rclone sync - 将源数据同步到目的地址,只更新目的地址的数据。
rclone move - 将源数据移动到目的地址。
rclone delete - 删除指定路径下的文件内容。
rclone purge - 清空指定路径下所有文件数据。
rclone mkdir - 创建一个新目录。
rclone rmdir - 删除空目录。
rclone check - 检查源和目的地址数据是否匹配。
rclone ls - 列出指定路径下所有的文件以及文件大小和路径。
rclone lsd - 列出指定路径下所有的目录/容器/桶。
rclone lsl - 列出指定路径下所有文件以及修改时间、文件大小和路径。
rclone md5sum - 为指定路径下的所有文件产生一个md5sum文件。
rclone sha1sum - 为指定路径下的所有文件产生一个sha1sum文件。
rclone size - 获取指定路径下,文件内容的总大小。.
rclone version - 查看当前版本。
rclone cleanup - 清空remote。
rclone dedupe - 交互式查找重复文件,进行删除/重命名操作。

7.常用操作

**rclone lsd:**列出指定path下,所有的目录、容器、桶。

# remote 为配置文件中的[name]

rclone lsd remote:path

rclone copy:将文件从源复制到目的地址,跳过已复制完成的。

# `rclone copy` 复制指定路径下文件

rclone copy source:sourcepath dest:destpath

**rclone sync:**同步的始终是 path 目录下的数据(空目录将不会被同步),而不是 path 目录。同步数据时,可能会删除目的地址的数据;建议先使用–dry-run 标志来检查要复制、删除的数据。同步数据出错时,不会删除任何目的地址的数据。

rclone sync source:path dest:path

**rclone move:**同步数据时,可能会删除目的地址的数据;建议先使用–dry-run 标志来检查要复制、删除的数据。

rclone move source:path dest:path

**rclone purge:**清空 path 目录和数据。

rclone purge remote:path

**rclone mkdir:**创建 path 目录。

rclone mkdir remote:path

总结

以上就是今天介绍的全部内容,这里介绍的rclone sync的方式数据同步不能做到同步过程实时同步,即同步过程中,如果有新的文件上传到已同步完成的文件下,该文件会丢失。当然Rclone也提供了其他方法解决该问题,有兴趣的朋友可以到官网直接学习英文官网、中文网站。大家学习也可参考这个:参考博客。

猜你喜欢

转载自blog.csdn.net/qq_21137441/article/details/122325649