使用rclone工具实现华为云OBS至AWS S3数据迁移同步

这篇具有很好参考价值的文章主要介绍了使用rclone工具实现华为云OBS至AWS S3数据迁移同步。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 背景

        项目需要将华为云的OBS对象存储服务的存储桶bucket的内容迁移复制到AWS云的S3存储桶中,AWS中暂无实现改需求的云服务,所以采用开源的第三方软件rclone来实现。

        rclone可以使用在linux操作系统中,是一种命令行形式的工具。

2. 已知环境信息

华为云OBS:

1. 已从统一身份认证服务IAM中获取到账号的access_key_id和secret_access_key;

2. 存储桶区域:西南-贵州   cn-southwest-2

AWS S3:

1. 已从统一身份认证服务IAM中获取到账号的access_key_id和secret_access_key;

2. 存储桶区域:新加坡   ap-southeast-1

3. 安装rclone

3.1 安装包下载

采用curl的形式下载,在Linux服务器中输入命令(amd64类型):

curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip

也可以在官网中下载对应的安装包,上传到服务器(可根据服务器类型选择不同的安装包):

官网下载地址:/

rclone增量同步,华为云,aws,云计算

 3.2 安装rclone

解压zip安装包:

unzip rclone-current-linux-amd64.zip

 命令授权:

cd rclone-v1.60.0-linux-amd64/
#这里目录名称可能不一样,注意cd进入的目录即可

sudo cp rclone /usr/sbin/
sudo chown root:root /usr/sbin/rclone
sudo chmod 755 /usr/sbin/rclone

3.3 开始配置

        rclone的配置来源于rclone.conf文件,软件支持使用命令生成配置文件,也可以直接在配置文件中输入相关的内容,在这两种方式中二选一即可。

3.3.1 (方式一)直接编辑配置文件

        我们直接创建配置目录并编辑配置文件,简单明了,明白各个配置参数的意思即可。

mkdir -p /root/.config/rclone/
touch /root/.config/rclone/rclone.conf
vim /root/.config/rclone/rclone.conf

        输入以下内容,根据环境信息进行相应的配置。 

[s3]    #1号配置的名称,随便定义
type = s3    #服务类型,为S3类型的服务
provider = AWS    #供应商,我这里是AWS
env_auth = false
access_key_id = xxxxxx    #这里对应的是aws账号access_key_id
secret_access_key = xxxxxxxx    #这里对应的是aws账号secret_access_key
region = ap-southeast-1    #地区,我的S3桶位于新加坡区域
endpoint = s3.ap-southeast-1.amazonaws.com    #endpoint,新加坡区域

[obs]    #2号配置的名称,随便定义
type = s3    #服务类型,为S3类型的服务
provider = HuaweiOBS    #供应商,我这里是华为云OBS
access_key_id = xxxxx    #这里对应的是华为云账号access_key_id
secret_access_key = xxxx    #这里对应的是华为云账号secret_access_key
region = cn-southwest-2    #地区,我的OBS桶位于贵阳区域
endpoint = obs.cn-southwest-2.myhuaweicloud.com    #endpoint,贵阳区域

        进行验证,输入命令查看两份配置各自的情况:

rclone lsd obs:
#注:lsd 列出
#注:obs: obs代表是配置的名称,即rclone.conf中的[obs]这行,冒号表示obs在配置对应的区域-贵阳-中的所有桶名

rclone增量同步,华为云,aws,云计算

 rclone增量同步,华为云,aws,云计算

         验证成功后,说明配置已经成功,可以访问到了,接下来跳转到3.4章节进行数据复制。

3.3.2 (方式二)生成配置文件 

      输入rclone config命令,进入生成配置文件的流程:

rclone config

rclone增量同步,华为云,aws,云计算

 输入n,新建配置。

rclone增量同步,华为云,aws,云计算

输入配置的名称

rclone增量同步,华为云,aws,云计算

输入5,选择存储类型为S3,泛指对象存储服务。

rclone增量同步,华为云,aws,云计算

 输入1,选择供应商为AWS

rclone增量同步,华为云,aws,云计算

输入1

rclone增量同步,华为云,aws,云计算

 输入access_key_id

rclone增量同步,华为云,aws,云计算

输入secret_access_key

rclone增量同步,华为云,aws,云计算

 输入区域,本次AWS的区域为新加坡,输入12或者ap-southeast-1

rclone增量同步,华为云,aws,云计算

输入endpoint,输入12,对应的是新加坡区域

rclone增量同步,华为云,aws,云计算

 访问限制,直接回车,不需要。

rclone增量同步,华为云,aws,云计算

 是否配置高级设置,输入n否

rclone增量同步,华为云,aws,云计算

是否保存,输入y保存

rclone增量同步,华为云,aws,云计算

         输入q退出。

        按照此方法将源端和目的端的2个配置都配置完成。

         配置文件位置/root/.config/rclone/rclone.conf

3.4 数据复制

        完成配置文件并验证成功后,就可以开始进行数据复制了。

        此处我们简单的使用copy或者sync参数

        不同处是copy是增量复制,只复制目的端缺少的。例如两端数据一样后,源端删除了某个文件a.txt,再执行一次copy,目的端对应的文件a.txt仍然存在;

        sync是同步,会将目的端同步为源端的情况,会删除目的端中源端没有的文件。例如两端数据一样后,源端删除了某个文件a.txt,再执行一次sync,目的端对应的文件a.txt也会被删掉。

copy:

#命令解析
#rclone copy增量复制,不会删除目的端比源端多的文件 -P显示速度 源端配置名:桶名 目的端配置名:桶名
  
rclone copy -P obs:ydstestbucket s3:prod-public-rewards

        结果如下,可以看到复制过去了2个文件:

rclone增量同步,华为云,aws,云计算

        当我们删除obs中的1个文件后,再次执行命令时,就可以看到只check了1次,同时,在目的端,被删除的文件依然存在:

rclone增量同步,华为云,aws,云计算

rclone增量同步,华为云,aws,云计算

 sync:

#命令解析
#rclone sync同步,将目的端同步为源端数据 -P显示速度 源端配置名:桶名 目的端配置名:桶名
  
rclone sync -P obs:ydstestbucket s3:prod-public-rewards

        结果如下,可以看到复制过去了2个文件:

rclone增量同步,华为云,aws,云计算

        当我们删除obs中的1个文件后,再次执行命令时,就可以看到check了2次,同时也进行了一次删除,这时就完成了目的端向源端同步: 

rclone增量同步,华为云,aws,云计算

        当然,rclone还有很多的参数和命令,可以自行学习。

3.5 后台窗口命令screen

        当我们需要复制的桶里面数据过多时,一直开着命令窗口界面就不是一个很稳妥的办法,这时我们可以开启一个后台运行窗口来运行rclone复制命令。

3.5.1 安装screen

        使用yum安装即可

yum install screen -y

3.5.2 创建后台窗口

#命令   screen -S 后台窗口名称
#例如:

screen -S window01

        这时可以看到我们的命令行进入了一个新的窗口了。这时,我们可以在这个窗口中执行耗时较长的rclone数据复制命令。

        例如,这里我们执行一个ping命令,使它一直进行ping操作:

rclone增量同步,华为云,aws,云计算

        然后Crtl+A+D退出后台窗口。

rclone增量同步,华为云,aws,云计算

         输入screen -ls可以查询到正在后台运行中的窗口:

screen -ls

rclone增量同步,华为云,aws,云计算

         输入screen -r 窗口名,可以再次进入窗口:

screen -r window01

        可以看到后台窗口还在执行ping命令:

rclone增量同步,华为云,aws,云计算

 3.5.3 结束后台窗口

        当后台窗口执行命令结束后,可以输入exit退出并关闭后台窗口,也可以在Crtl+A+D退出窗口后,kill掉screen窗口的进程,然后输入screen -wipe清理。

screen -S [name]    #创建并进入后台窗口
screen -ls          #列出后台窗口
screen -r [name]    #进入后台窗口
screen -wipe        #清理Dead的后台窗口

        在后台窗口中输入exit退出并关闭窗口后,再次输入screen -ls可以看到没有窗口存在:

rclone增量同步,华为云,aws,云计算

         Crtl+A+D退出窗口后,kill掉screen窗口的进程,可以看到存在dead的窗口,然后输入screen -wipe清理即可:

rclone增量同步,华为云,aws,云计算

         推荐使用在后台窗口中exit的方式关闭,用完随手就关了,更简单。文章来源地址https://www.toymoban.com/news/detail-787668.html

到了这里,关于使用rclone工具实现华为云OBS至AWS S3数据迁移同步的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AWS-数据库迁移工具DMS-场景:单账号跨区域迁移RDS for Mysql

    参考文档: 分为几个环节: 要使用 AWS DMS 迁移至 Amazon RDS 数据库实例: 1.创建复制实例 有坑内存必须8g或者以上,我测试空库 都提示内存不足 2.创建目标和源终端节点 目标空库也得自己创建哈 3.刷新源终端节点架构 4.创建迁移任务 需要手动启动任务,点击重启/恢复 5.监控

    2024年02月10日
    浏览(40)
  • 亚马逊云AWS,MINIO,阿里云OSS,华为云OBS主流文件系统STS服务端配置手册

    1,配置本地服务 Miniohost: minio访问地址 Username: minio admin账户名 Password: minio admin账户密码 创建配置成功后响应结果如下 2,利用mc创建访问用户 为local的minio服务创建一个用户派发STS : 账户:zhangsan ,密码 :zhangsan123 STSUsername: minio 派发STS用户名 STSPassword: minio派发STS用户密码 创

    2024年02月05日
    浏览(38)
  • 使用Data Transfer Hub迁移MaxCompute数据至S3数据湖实践

    一.概述 随着对象存储使用得到广泛普及,越来越多的企业客户从其他云对象存储迁移到Amazon S3时对实时性,安全性,稳定性,易用性和同步效率有不同的要求。其次,数据存储如关系型/非关系型数据库,Elasticsearch,Redis等皆可通过导出文件或快照进行数据导入,使数据迁

    2024年02月03日
    浏览(32)
  • 阿里云数据迁移工具解决方案:华为云迁移到阿里云

    对于华为云批量迁移到阿里云,HyperMotion可以支持批量一键式安装Agent软件,做到了操作步骤简单化、自动化,可以满足常见源端操作系统类型。 例如:Windows 2003-2019,CentOS、RedHat 6.x-7.x、Ubuntu 14.x - 16.x、SUSE 11spx - 12 spx等多类型操作系统的全场景化覆盖。 Agent代理模式会在源端

    2024年02月03日
    浏览(36)
  • AWS云迁移工具介绍

    Amazon Web Services (AWS) 提供了一系列的云迁移工具,帮助客户将现有的应用程序、数据和基础设施迁移到 AWS。以下是按照迁移过程的顺序列出的一些主要工具: AWS Migration Hub:迁移中心是一个集中式管理平台,它可以帮助你跟踪和管理整个迁移过程。它提供了一个统一的视图,

    2024年02月04日
    浏览(33)
  • 使用 Feature Flags 与可观测工具实现数据库灰度迁移

    很多企业会遇到数据库升级、或数据库迁移的情况,尤其是在自建数据库服务向云数据库服务、自建机房向云机房、旧数据库向新数据库迁移等场景。 然而,我们需要在整个移植过程中保证其稳定性、避免数据遗失、服务宕机等情况,最常见的移植方法之一就是 数据库双写

    2024年02月12日
    浏览(26)
  • Java AWS S3 文件上传实现

    Amazon S3(Simple Storage Service)是亚马逊云计算平台提供的一种对象存储服务,可以用于存储和检索任意类型的数据。在Java开发中,我们可以通过AWS SDK for Java来实现与Amazon S3的集成。 官方文档 https://docs.aws.amazon.com/zh_cn/sdk-for-java/v1/developer-guide/examples-s3.html 1. 配置maven依赖 2. 配置

    2024年02月21日
    浏览(31)
  • Python文件上传 S3(AWS) 简单实现

    建立aws账户,进入到S3界面  点击 \\\"Create bucket\\\" 一系列操作之后——这里给bucket命名为csfyp python需要先: 这两个包含一些连接python和s3 连接的api 然后直接上代码

    2024年02月03日
    浏览(37)
  • aws对象存储s3基于lambda实现图片裁剪

    存储桶名称:wmmzz 1.存储桶策略设置 2. 创建lambda函数 点击跳转到IAM控制台,创建自定义角色,选择服务类型lambda,创建策略 输入策略下一步取名resize-policy,回到创建角色页面,搜索刚才创建的策略选中,再搜索AmazonS3FullAccess选中 点击下一步,输入角色名称resize-role,点击“创建角色

    2024年02月11日
    浏览(35)
  • 华为云中对象存储服务软件开发工具包(OBS SDK) C语言介绍

          华为云的OBS介绍 :摘自华为云官网:https://support.huaweicloud.com/obs/index.html       华为云的对象存储服务(Object Storage Service, OBS)是一个基于对象的海量存储服务 ,为客户提供海量、安全、高可靠、低成本的数据存储能力。       OBS系统和 单个桶都没有总数据容量和对象

    2024年02月09日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包