数据备份到对象存储(cos)

数据备份到对象存储(cos)

罗小黑
2021-03-14 / 4 评论 / 743 阅读 / 正在检测是否收录...
广告
温馨提示:
本文最后更新于2021年05月28日,已超过1053天没有更新,若内容或图片失效,请留言反馈。

之前我,写过利用bypy+crontab 实现定时数据备份到百度网盘, ,大家也知道百度网盘的一个缺点就是下载速度太慢,当然如果你是会员就当我没说,下面给你们介绍如何把数据备份到腾讯的cos中,腾讯的数据存储新用户会有6个月的50G标准存储容量。
环境:Java和腾讯云的迁移工具

迁移工具

功能说明

迁移工具集成了有关COS数据迁移的功能, 目前支持以下四大类迁移

  • 本地数据迁移到COS, 功能同之前的本地同步工具
  • 友商数据迁移到COS, 目前支持aws s3, 阿里云oss, 七牛存储, 又拍云存储
  • 根据url下载列表进行下载迁移
  • COS的bucket数据相互复制, 支持跨账号跨地域的数据复制

运行依赖

  • JDK1.8或以上, 有关JDK的安装请参考JAVA安装与配置
  • linux或windows环境, 推荐linux

使用范例

1、配置全部通过配置文件读入

sh start_migrate.sh

2、指定部分配置项以命令行为主.

sh start_migrate.sh -DmigrateLocal.localPath=/test_data/aaa/ -Dcommon.cosPath=/aaa
sh start_migrate.sh -DmigrateAws.prefix=/test_data/bbb/ -Dcommon.cosPath=/bbb

迁移机制

迁移工具是有状态的,已经迁移成功的会记录在db目录下,以KV的形式存储在leveldb文件中.
每次迁移前对要迁移的路径, 先查找下DB中是否存在, 如果存在,且属性和db中存在的一致, 则跳过迁移, 否则进行迁移。这里的属性根据迁移类型的不同而不同,对于本地迁移,会判断mtime。对于友商与bucket复制,会判断源文件的etag和长度是否与db一致。
因此,我们参照的db中是否有过迁移成功的记录,而不是查找COS,如果绕过了迁移工具,通过别的方式(比如coscmd或者控制台)删除修改了文件,那么运行迁移工具由于不会察觉到这种变化,是不会重新迁移的。

其他

请参照COS迁移工具官网文档

Java安装:

1、下载 JDK
进入 Oracle 官方网站 下载合适的 JDK 版本,准备安装。
或者下载我用的安装包:

2、创建目录
执行如下命令,在 /usr/ 目录下创建 java 目录。

mkdir /usr/java
cd /usr/java

将下载的文件 jdk-8u151-linux-x64.tar.gz 复制到 /usr/java/ 目录下。

3、解压 JDK
执行如下命令,解压文件。

tar -zxvf jdk-8u151-linux-x64.tar.gz 

4、设置环境变量
编辑 /etc/profile 文件,在 profile 文件中添加如下内容并保存:

set java environment
JAVA_HOME=/usr/java/jdk1.8.0_28
JRE_HOME=/usr/java/jdk1.8.0_281/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

使之修改生效,执行如下:

source /etc/profile 

5、测试
执行如下命令进行测试。

java -version

若显示 Java 版本信息,则说明 JDK 安装成功:

java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

下载并配置cos工具
1、解压并保存到某个目录

unzip cos_migrate_tool_v5-master.zip && cd cos_migrate_tool_v5-master

2、迁移工具结构
正确解压后的 COS Migration 工具目录结构如下所示:

    COS_Migrate_tool
    |——conf #配置文件所在目录
    | |——config.ini #迁移配置文件
    |——db #存储迁移成功的记录
    |——dep #程序主逻辑编译生成的JAR包
    |——log #工具执行中生成的日志
    |——opbin #用于编译的脚本
    |——src #工具的源码
    |——tmp #临时文件存储目录
    |——pom.xml #项目配置文件
    |——README #说明文档
    |——start_migrate.sh #Linux 下迁移启动脚本
    |——start_migrate.bat #Windows 下迁移启动脚本

这里主要配置config.ini文件

    vim conf/config.ini 

04817-y06aqcj9uaq.png
请输入图片描述
配置好之后保存
创建腾讯对象存储桶
2021-03-14T11:44:46.png
创建目录
请输入图片描述
开始测试

    sh start_migrate.sh 

由于我备份的数据大上传的速度会慢一些,只需等待即可
请输入图片描述
出现上图结过表示备份成功
请输入图片描述

3

打赏


评论 (4)

取消
  1. 头像
    罗小黑 作者
    Windows 10 · Google Chrome
    沙发

    测试一下

    回复 删除 垃圾
  2. 头像
    小白
    Windows 10 · Google Chrome
    板凳

    测试一下

    回复 删除 垃圾
  3. 头像
    1
    iPhone · QQ Browser
    地毯

    11牛

    回复 删除 垃圾
  4. 头像
    神话
    Windows X64 · QQ Browser
    第4楼

    测试

    回复 删除 垃圾