之前我,写过利用bypy crontab 实现定时数据备份到百度网盘, ,大家也知道百度网盘的一个缺点就是下载速度太慢,当然如果你是会员就当我没说,下面给你们介绍如何把数据备份到腾讯的cos中,腾讯的数据存储新用户会有6个月的50G标准存储容量。 环境:Java和腾讯云的迁移工具
https://github.com/tencentyun/cos_migrate_tool_v5
迁移工具
功能说明
迁移工具集成了有关COS数据迁移的功能, 目前支持以下四大类迁移
- 本地数据迁移到COS, 功能同之前的本地同步工具
- 友商数据迁移到COS, 目前支持aws s3, 阿里云oss, 七牛存储, 又拍云存储
- 根据url下载列表进行下载迁移
- COS的bucket数据相互复制, 支持跨账号跨地域的数据复制
运行依赖
- JDK1.8或以上, 有关JDK的安装请参考JAVA安装与配置
- linux或windows环境, 推荐linux
使用范例
1、配置全部通过配置文件读入
代码语言:javascript复制sh start_migrate.sh
2、指定部分配置项以命令行为主.
代码语言:javascript复制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 版本,准备安装。 或者下载我用的安装包:https://share.weiyun.com/5p7MsV6c
2、创建目录 执行如下命令,在 /usr/ 目录下创建 java 目录。
代码语言:javascript复制mkdir /usr/java
cd /usr/java
将下载的文件 jdk-8u151-linux-x64.tar.gz 复制到 /usr/java/ 目录下。
3、解压 JDK 执行如下命令,解压文件。
代码语言:javascript复制tar -zxvf jdk-8u151-linux-x64.tar.gz
4、设置环境变量 编辑 /etc/profile 文件,在 profile 文件中添加如下内容并保存:
代码语言:javascript复制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
使之修改生效,执行如下:
代码语言:javascript复制source /etc/profile
5、测试 执行如下命令进行测试。
代码语言:javascript复制java -version
若显示 Java 版本信息,则说明 JDK 安装成功:
代码语言:javascript复制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、解压并保存到某个目录
代码语言:javascript复制unzip cos_migrate_tool_v5-master.zip && cd cos_migrate_tool_v5-master
2、迁移工具结构 正确解压后的 COS Migration 工具目录结构如下所示:
代码语言:javascript复制 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文件
代码语言:javascript复制 vim conf/config.ini
配置好之后保存 创建腾讯对象存储桶
创建目录
开始测试
代码语言:javascript复制 sh start_migrate.sh
由于我备份的数据大上传的速度会慢一些,只需等待即可
出现上图结过表示备份成功