如何使用rclone将腾讯云COS桶中的数据同步到华为云OBS

在多云策略与数据迁移趋势下,企业往往需要将数据在不同云服务提供商之间进行迁移。本文介绍如何使用rclone工具同步腾讯云COS(Cloud Object Storage)桶中的数据到华为云OBS(Object Storage Service)。先决条件是您已经使用华为云在线迁移工具完成了初始数据迁移,现在我们需要保持后续的数据一致性。 迁移过程如下: 输入源端桶与目的桶的各个配置信息,点击下一步: 这里直接默认,点击下一步: 到这里数据就可以开始同步了! 但是这里要注意账号密钥的权限: 我创建了一个用户组obs-list ,将obs的用户加入,并赋予了OBS Buckets Viewer OBS ReadOnlyAccess 权限(应该赋予OBS ReadOnlyAccess 就可以) 存储桶,桶策略绑定了下面的权限: 其实华为云也有同步任务这个选项可以增量同步,但是看了一眼: 创建一个同步任务 but我源站新建了一个文件没有能在这里看到更新 访问:同步请求接收地址放弃了....... 尝试一下rclone吧还是!

什么是rclone?

rclone是一款开源的命令行工具,支持同步文件和目录到多种云存储服务提供商。rclone具有多种特性,包括但不限于复制、同步、迁移、加密等。它支持多种云存储服务,例如Amazon S3, Microsoft OneDrive, Google Drive, Alibaba Cloud OSS, Huawei Cloud OBS以及腾讯云COS等。

开始使用

步骤1:安装rclone

访问rclone官方网站(rclone.org/downloads/)...

bash 复制代码
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64
sudo cp rclone /usr/bin/
sudo chown root:root /usr/bin/rclone
sudo chmod 755 /usr/bin/rclone

步骤2:配置rclone

使用rclone配置命令交互式创建新配置。

bash 复制代码
rclone config

添加华为云OBS

  1. 选择"n"新建远程配置。
  1. 输入配置名称,如 HuaweiOBS
  1. 选择存储类型,输入 s3,选择 13
  1. 输入华为云OBS的相关信息,包括区域access_key_idsecret_access_key等。
  1. 完成配置,保存并退出。

添加腾讯云COS

  1. 同样使用"n"创建新的远程配置。
  1. 输入配置名称,如 TencentCOS
  1. 选择存储类型,选择 s3,选择 13(腾讯云)。
  1. 输入腾讯云TencentCOS的相关信息,包括区域access_key_idsecret_access_key等。
  1. 输入腾讯云COS的相关信息。
  2. 完成配置,保存并退出。

步骤3:运行rclone同步命令

使用以下rclone命令将腾讯云COS的数据同步到华为云OBS。请将 TencentCOS:bucket-nameHuaweiOBS:bucket-name 替换为您自己的具体存储桶名称。

bash 复制代码
rclone sync TencentCOS:bucket-name HuaweiOBS:bucket-name --progress
###or
rclone sync -P TencentCOS:bucket-name HuaweiOBS:bucket-name 

--progress 参数可以让您实时看到同步的进度。

步骤4:设置定时任务(可选)

要保持数据持续同步,可以在服务器上设置定时任务。以下是一个示例cron任务,它每天凌晨1点执行数据同步。

打开cron编辑器:

bash 复制代码
crontab -e

添加以下行(确保您已经替换命令中的存储桶名):

c 复制代码
0 1 * * * rclone sync TencentCOS:bucket-name HuaweiOBS:bucket-name --log-file=/var/log/rclone.log

保存并退出编辑器。

其他注意的:

一些加快速度的参数:

发现了没有同时传输的数量为4! 可以这样修改一下:

  • --transfers: 设置同时进行文件传输的数量,默认通常是4。例如,如果想一次同步8个文件,可以使用 --transfers 16 作为命令参数
bash 复制代码
rclone sync -P TencentCOS:bucket-name HuaweiOBS:bucket-name --transfers 16

恩 发现同步完成后**checking **数量为8?

  • --checkers: 设置同时进行检查操作的数量。检查操作是指在上传文件前检查文件是否需要更新。默认值通常是8。增加这个值可以加快检查的速度,但可能会消耗更多的资源
bash 复制代码
rclone sync -P TencentCOS:bucket-name HuaweiOBS:bucket-name  --transfers 16 --checkers 16 

rclone sync 与rclone copy

rclone syncrclone copy 都可以对数据进行复制。不同处是copy是增量复制,只复制目的端缺少的。例如两端数据一样后,源端删除了某个文件a.txt,再执行一次copy,目的端对应的文件a.txt仍然存在; sync是同步,会将目的端同步为源端的情况,会删除目的端中源端没有的文件。例如两端数据一样后,源端删除了某个文件a.txt,再执行一次sync,目的端对应的文件a.txt也会被删掉。 具体的可以验证一下!

生成配置文件的方式

参照上面配置了rclone config的工作节点:

bash 复制代码
ls /root/.config/rclone

cat rclone.conf:

bash 复制代码
[HuaweiOBS]
type = s3
provider = Other
env_auth = false
access_key_id = xxxxx
secret_access_key = xxxxxxxxxxxxxxxxxxxxx
region = cn-north-4
endpoint = obs.cn-north-4.myhuaweicloud.com

[TencentCOS]
type = s3
provider = Other
env_auth = false
access_key_id = xxxxxxxxxxxxxxxx
secret_access_key = xxxxxxxxxxxxxxx
region = ap-shanghai
endpoint = cos.ap-shanghai.myqcloud.com

步骤2也可以这样生成配置文件,然后继续3 4的操作!

结论

通过以上步骤,您可以轻松地使用rclone将腾讯云COS桶中的数据同步到华为云OBS。确保在执行过程中准确无误地替换了所有必须的配置信息,以保证同步的成功。若您需要进一步的自定义或了解高级功能,请访问rclone的官方文档。 注:以上大纲chatgpt生成,参数 and copy用法以及生成配置文件方式为个人尝试!

相关推荐
猫林老师1 天前
HarmonyOS数据持久化:Preferences轻量级存储实战
华为·harmonyos
Devil枫2 天前
鸿蒙深链落地实战:从安全解析到异常兜底的全链路设计
安全·华为·harmonyos
广州腾科助你拿下华为认证2 天前
华为考试:HCIE数通考试难度分析
大数据·华为
与天仙漫步星海2 天前
华为基本命令
华为
低调小一2 天前
Android传统开发 vs Android Compose vs HarmonyOS ArkUI 对照表
android·华为·harmonyos
猛码Memmat2 天前
华为HarmonyOS开发文档
华为·harmonyos
流影ng2 天前
【HarmonyOS】MVVM与三层架构
华为·架构·harmonyos
爱笑的眼睛112 天前
HarmonyOS Stage 模型与 ArkUI 声明式开发深度实践:构建高效稳定的应用
华为·harmonyos
安卓开发者2 天前
鸿蒙Next ArkWeb网页文件上传与下载完全指南
华为·harmonyos