阿里云ECS数据迁移到阿里云OSS

Posted 梦想橡皮擦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云ECS数据迁移到阿里云OSS相关的知识,希望对你有一定的参考价值。

实操背景

在运维工作中,存在数据文件迁移的场景,例如将阿里云ECS的数据迁移到OSS中去,该操作可通过 ossutil 落地实现。
首先在你要迁移的服务器运行如下代码,安装该工具

wget https://gosspublic.alicdn.com/ossutil/1.7.9/ossutil64

当控制台输出如下内容,表示安装成功。

[root@xxxxx~]# wget https://gosspublic.alicdn.com/ossutil/1.7.9/ossutil64 
--2022-02-10 11:19:24--  https://gosspublic.alicdn.com/ossutil/1.7.9/ossutil64
Resolving gosspublic.alicdn.com (gosspublic.alicdn.com)... 101.37.183.187, 101.37.183.186, 240e:928:501:2:3::3fc, ...
Connecting to gosspublic.alicdn.com (gosspublic.alicdn.com)|101.37.183.187|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 10357129 (9.9M) [application/octet-stream]
Saving to: ‘ossutil64’

100%[=======================================================================================================================================================================>] 10,357,129  27.7MB/s   in 0.4s   

2022-02-10 11:19:24 (27.7 MB/s) - ‘ossutil64’ saved [10357129/10357129]

该内容默认安装到 root 目录下,接下来授予权限。

chmod 755 ossutil64

在接下来进行OSS相关配置即可,通过命令 ./ossutil64 config 进入配置界面

[root@ ~]# ./ossutil64 config
The command creates a configuration file and stores credentials.

Please enter the config file name,the file name can include path(default /root/.ossutilconfig, carriage return will use the default file. If you specified this option to other file, you should specify --config-file option to the file when you use other commands):
No config file entered, will use the default config file /root/.ossutilconfig

For the following settings, carriage return means skip the configuration. Please try "help config" to see the meaning of the settings
Please enter language(CH/EN, default is:EN, the configuration will go into effect after the command successfully executed):CH(选择CH是中文)
Please enter stsToken:
Please enter endpoint:注意写阿里云内网 endpoint 
Please enter accessKeyID:你的accessKeyID
Please enter accessKeySecret:你的accessKeySecret

其中会要求你输入配置文件地址,可以保持默认 /root/.ossutilconfig

配置查看

输入命令 ./ossutil64 可以直接查看帮助文档。

root@ ~]# ./ossutil64
用法: ossutil [command] [args...] [options...]
请使用ossutil help command来显示command命令的帮助

Commands:
  mb                cloud_url [options]
        创建Bucket
  ls                [cloud_url] [options]
        列举Buckets或者Objects
  rm                cloud_url [options]
        删除Bucket或Objects

上传文件

接下来就是上传文件,即迁移数据到OSS中,使用 ossutil64 中的 cp 命令即可。

该命令用于将本地文件或文件夹上传至OSS。

使用 cp 命令上传文件时,默认使用分片上传和断点续传。如果意外中断了文件上传的过程,且未继续完成该文件的上传,则已上传的部分会以碎片(Part)的形式存储在OSS的存储空间(Bucket)中。当不在需要的时候,注意删除这部分内容。

命令格式如下所示,其中 -r-u 最常用。

./ossutil64 cp file_url cloud_url
[-r, --recursive]
[-f --force]
[-u --update]
[--maxupspeed <value>]
[--enable-symlink-dir]
[--disable-all-symlink]
[--disable-ignore-error]
[--only-current-dir]
[--bigfile-threshold <value>]
[--part-size <value>]
[--checkpoint-dir <value>]
[--encoding-type <value>]
[--include <value>]
[--exclude <value>]
[--meta <value>]
[--acl <value>]
[--snapshot-path <value>]
[--disable-crc64]
[--disable-dir-object]
[--payer <value>]
[--tagging <value>]
[-j, --job <value>]
[--parallel <value>]

详细配置参考地址:https://help.aliyun.com/document_detail/179388.htm

接下来介绍的是比较常用的操作。

上传单个文件

上传文件时,如果不指定上传至OSS的文件名,则默认使用原文件名进行保存;如果指定文件名,则按照指定的文件名保存在OSS中。

./ossutil64 cp 要转移的文件 oss://examplebucket/OSS目标目录/

仅上传文件夹内的文件

使用cp命令时增加 -r 选项,可以只将本地文件夹内的文件上传到OSS指定路径。用于上传本地文件夹内容

./ossutil64 cp -r 本地文件夹/ oss://examplebucket/OSS目标目录/

上传文件夹及文件夹内的文件

使用cp命令时增加 -r 选项,并在OSS指定路径下添加本地文件夹名称,可以将本地文件夹以及文件夹内的文件上传到OSS指定路径。

./ossutil64 cp -r 本地文件夹/ oss://examplebucket/OSS目标目录/本地相同的文件名/

上传文件夹并跳过已有文件

批量上传失败重传时,可以指定 --update (可缩写为-u)选项跳过已经上传成功的文件,实现增量上传

./ossutil64 cp -r 本地文件夹/ oss://examplebucket/OSS目标目录/ -u

仅上传当前目录下的文件,忽略子目录

如标题所示含义:

./ossutil64 cp 本地文件夹/ oss://examplebucket/OSS目标目录/ --only-current-dir -r

上传时限速

在上传文件时,结合 --maxupspeed 选项来限制上传的最大速度,单位为KB/s。:
上传文件并设置限速为1 MB/s

./ossutil64 cp 本地文件 oss://examplebucket/OSS目标目录/ --maxupspeed 1024

上传文件夹并设置限速为1 MB/s

./ossutil64 cp -r 本地文件夹/ oss://examplebucket/OSS目标目录/ --maxupspeed 1024

官方资料查询地址:https://help.aliyun.com/document_detail/50452.html

记录时间

2022年度 Flag,写作的 561 / 1024 篇。
可以关注我,点赞我、评论我、收藏我啦。

更多精彩


👇👇👇扫码加入【78技术人】~ Python 事业部👇👇👇

以上是关于阿里云ECS数据迁移到阿里云OSS的主要内容,如果未能解决你的问题,请参考以下文章

阿里云服务器的ECS和RDS和OSS和SLB是啥意思

[实战]生产环境阿里云-OSS资源迁移

阿里云OSS和腾讯云COS互相迁移

请教阿里云 OSS 使用方法

阿里云迁移(分享九)

数据从机房迁移到阿里ECS弹性云