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

news/2024/4/17 17:35:56

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

什么是rclone?

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

开始使用

步骤1:安装rclone

访问rclone官方网站(https://rclone.org/downloads/),下载适合您操作系统的rclone版本并安装。例如,对于Linux系统可以使用以下命令:

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配置命令交互式创建新配置。

rclone config
添加华为云OBS
  1. 选择“n”新建远程配置。

image.png

  1. 输入配置名称,如 HuaweiOBS

image.png

  1. 选择存储类型,输入 s3,选择 13

image.png

  1. 输入华为云OBS的相关信息,包括区域access_key_idsecret_access_key等。

image.png

  1. 访问限制,直接回车,不需要。是否配置高级设置,输入n否.是否保存,输入y保存!

image.png

添加腾讯云COS
  1. 同样使用“n”创建新的远程配置。

image.png

  1. 输入配置名称,如 TencentCOS

image.png

  1. 选择存储类型,选择 s3,选择 13(腾讯云)。

image.png

  1. 输入腾讯云TencentCOS的相关信息,包括区域access_key_idsecret_access_key等。

image.png

  1. 输入腾讯云COS的相关信息。访问限制,直接回车,不需要。是否配置高级设置,输入n否.是否保存,输入y保存!

image.png

步骤3:运行rclone同步命令

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

rclone sync TencentCOS:bucket-name HuaweiOBS:bucket-name --progress
###or
rclone sync -P TencentCOS:bucket-name HuaweiOBS:bucket-name 

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

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

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

打开cron编辑器:

crontab -e

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

0 1 * * * rclone sync TencentCOS:bucket-name HuaweiOBS:bucket-name --log-file=/var/log/rclone.log

保存并退出编辑器。

其他注意的:

一些加快速度的参数:

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

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

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

  • **--checkers**: 设置同时进行检查操作的数量。检查操作是指在上传文件前检查文件是否需要更新。默认值通常是8。增加这个值可以加快检查的速度,但可能会消耗更多的资源
rclone sync -P TencentCOS:bucket-name HuaweiOBS:bucket-name  --transfers 16 --checkers 16 
  • 使用**--fast-list**选项: 使用此选项可以减少S3(或兼容S3)API所需的请求数量,特别是在包含大量文件的目录中。它通过使用更少的请求来获取更多的文件列表信息来实现。
rclone sync -P TencentCOS:bucket-name HuaweiOBS:bucket-name  --fast-list
  • 使用**--size-only****--checksum** 如果你绕过了修改日期的检查,而只根据文件大小(--size-only)或根据校验和(--checksum)来判断文件是否需要被同步,这可能会减次检查时间。
rclone sync -P TencentCOS:bucket-name HuaweiOBS:bucket-name  --size-only

或者

rclone sync -P TencentCOS:bucket-name HuaweiOBS:bucket-name  --checksum

rclone sync 与rclone copy

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

生成配置文件的方式

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

ls /root/.config/rclone

image.png
cat rclone.conf:

[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

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

结论

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


https://www.xjx100.cn/news/3092581.html

相关文章

代码随想录 10.13 || 二叉树 LeetCode 235.二叉搜索树的最近公共祖先、701.二叉搜索树中的插入操作、450.删除二叉搜索树中的节点

二叉树的定义: 回顾一下二叉树的定义,加固记忆。 struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode() : val(0), left(nullptr), right(nullptre) {}TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}TreeNode(int x, Tre…

Redis从入门到精通(三)-高阶篇

文章目录 0. 前言[【高阶篇】3.1 Redis协议(RESP )详解](https://blog.csdn.net/wangshuai6707/article/details/132742584)[【高阶篇】3.3 Redis之底层数据结构简单动态字符串(SDS)详解](https://blog.csdn.net/wangshuai6707/article/details/131101404)[【高阶篇】3.4 Redis…

手把手带你在AutoDL上部署InternLM-Chat-7B Transformers

手把手带你在AutoDL上部署InternLM-Chat-7B Transformers 调用 项目地址:https://github.com/KMnO4-zx/self_llm.git 如果大家有其他模型想要部署教程,可以来仓库提交issue哦~ 也可以自己提交PR! InternLM-Chat-7B Transformers 部署调用 环…

使用pytorch利用神经网络原理进行图片的训练(持续学习中....)

1.做这件事的目的 语言只是工具,使用python训练图片数据,最终会得到.pth的训练文件,java有使用这个文件进行图片识别的工具,顺便整合,我觉得Neo4J正确率太低了,草莓都能识别成为苹果,而且速度慢,不能持续识别视频帧 2.什么是神经网络?(其实就是数学的排列组合最终得到统计结果…

3D 纹理渲染如何帮助设计师有效、清晰地表达设计理念

在线工具推荐: 三维数字孪生场景工具 - GLTF/GLB在线编辑器 - Three.js AI自动纹理化开发 - YOLO 虚幻合成数据生成器 - 3D模型在线转换 - 3D模型预览图生成服务 定义 3D 渲染可视化及其用途 3D 可视化是一种艺术形式。这是一个机会。这是进步。借助 3D 纹理…

Linux中的MFS分布式文件系统

目录 一、MFS分布式文件系统 1、MooseFS简介 2、Moose File System的体系结构 (1)MooseFS Master (2)MooseFS Chunk Server (3)MooseFS Metalogger (4)MooseFS Client &…

matlab-BP神经网络的训练参数大全

本文部分图文来自《老饼讲解-BP神经网络》bp.bbbdata.com 本文列兴趣MATLAB神经网络工具箱中,训练参数trainParam的各个参数与意义 以方便在使用matlab工具箱时,用于查阅 一、matlab神经网络工具箱trainParam的参数列表 trainParam中的各个具体参数如下…

美团面试:微服务如何拆分?原则是什么?

尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业如美团、字节、如阿里、滴滴、极兔、有赞、希音、百度、网易的面试资格,遇到很多很重要的面试题: 微服务如何拆分? 微服务拆分的规范和原则…