前言
目前大多项目我们都会使用各种存储服务,例如oss、cos、minio等。当然,因各种原因,可能需要在不同存储服务间进行数据迁移工作,所以今天就给大家介绍一个比较通用的数据迁移工具Rclone。
提示:以下是本篇文章正文内容,下面案例可供参考
一、Rclone是什么?
Rclone是一个命令行程序,用于管理云存储上的文件。它是云供应商Web存储界面的功能丰富的替代方案。超过40种云存储产品支持rclone,包括S3对象存储,业务和消费者文件存储服务以及标准传输协议。详细推荐直接官网学习:英文官网、中文网站
二、Rclone能做什么?
备份(和加密)文件到云存储。 从云存储还原(和解密)文件。 将云数据镜像到其他云服务或本地。 将数据迁移到云,或在云存储供应商之间迁移。 将多个加密的,缓存的或多样化的云存储作为磁盘挂载。
三、使用步骤
1.安装Rclone
curl https://rclone.org/install.sh | sudobash
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 =falseprovider = 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 =falseprovider = 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
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也提供了其他方法解决该问题,有兴趣的朋友可以到官网直接学习英文官网、中文网站。大家学习也可参考这个:参考博客。