Linux本地数据上传到阿里云OSS

这篇文章主要是介绍如何将服务器本地的数据上传到阿里云OSS的指定bucket中,最重要的参考文档是数据迁移单机部署。这里呢 因为文档中步骤不是特别清晰,我这里呢主要是针对linux服务器单机数据上传的,windows的话还是看阿里的官方文档吧。

1. 环境配置和工具下载

第一步,要确保Linux本地已经有了Java 1.7及以上的运行环境。查看本机java版本,使用命令 java - version 即可。如果没有,我这里用的是jdk 1.8的版本  具体的包我放到文件夹下了。大家可以下载

第二步,请从ossimport-2.2.1.zip此链接处下载ossimport工具,使用wget命令即可。

下载到本地后,再利用下述命令

unzip -o ossimport-2.2.1.zip -d ossimport

将压缩文件解压到ossimport文件夹,完毕。

2. ossimport的相关配置

这一步主要是配置local_job.cfg和sys.properties这两个文件,它们都在上一步解压的my_oss_work/conf文件夹下。

第一步,修改local_job.cfg文件:首先,一定不要修改local_job.cfg的名称和位置,保持不动即可。然后利用vim打开该文件,更改如下设置

srcType=local     //因为是本地上传,所以此处设置为local

srcPrefix=/opt/log/mysql/backup    //这里是你本地需要上传的文件夹

destAccessKey=     //这个是你阿里云账户的access key,需要去你的阿里云账户上去找 我这里是用的子账户

destSecretKey=   //这个是你阿里云账户的secret key,也需要你去你自己的账户上去查找。access key 和secret key都是用来对你的身份进行验证的,相当于你传数据到阿里云上时的钥匙,这个钥匙能唯一确定你的OSS

destDomain=http://oss-cn-beijing-internal.aliyuncs.com  //这一步很重要,这是你的endpoint,是由你的实际OSS区域确定的。如果你购买了阿里云ECS服务,且是将你ECS主机上的数据上传到OSS,那么这里设置http://oss-cn-beijing-internal.aliyuncs.com;如果你不仅购买了ECS,还设置有VPC专有网络,那么此处设置http://vpc100-oss-cn-beijing.aliyuncs.com;如果你是将自己的服务器(并不是阿里云的ECS主机)比如你公司里的机房上的数据上传到OSS,那么这里设置http://oss-cn-beijing.aliyuncs.com。这些信息都可以在你的OSS账户里面查到。endpoint中的beijing说明我购买的是OSS区域在华北,如果你的在杭州,那么就改为hangzhou。这些都是可以在你的账户里查到的。

destBucket=itoyo  //这是你的OSS的bucket名,你要把数据传到这个bucket上,注意,不要在bucket名字后面加斜线/

**destPrefix=itoyo  //这是你的目标文件夹,你要讲数据传到上面指定的itoyo的itoyo文件夹下,注意此处文件夹开头不要加斜线/

jobName=local_test  //这是你的任务名称,注意,此处不需要修改,保持不变即可!!ossimport v2.2单机模式要求这个名称不能更改!!

除了上面几个需要设置和注意以外,其它的都不需要动!保持不变即可!

第二步,修改sys.properties文件:

workerMaxThroughput(KB/s)=0  //这是设置你的上传速度上限,设置为0表示不限制。

注意,sys.properties中的配置项workingDir、workerUserName、workerPassword、privateKeyFile请不要修改!!保持不变即可!!

到此,ossimport的配置到此结束。

3. 运行ossimport和上传数据

使用下述命令

cd ossimport

切换到刚才解压的文件夹下,即与import.sh这个文件保持同级,你当前目录下存在着一个叫做import.sh的文件。这个文件将数据上传的操作封装在了一起,你无须管它里面写了什么,只要你前面local_job.cfg和sys_properties这两个文件正确设置了,那么运行命令

bash import.sh

ossimport工具就会依据你之前的设定,将你本地/opt/log/mysql/backup文件夹下的所有数据上传到你阿里云OSS的itoyo的itoyo文件夹下。整个过程持续的时间,取决于你文件的大小和数量。

上传完毕之后,你就可以去你的OSS上去查看了。

4. 查看上传数据的状态

如果数据量很大,上传需要花费很多时间,我们就可以选择暂时断开连接。断开后,ossimport仍会继续上传数据。当我们再次登陆时,想看一下数据上传的进度,这时就可以切换到ossimport文件夹下(也即ossimport的工作目录下),执行下述命令

bash console.sh stat

如果数据仍在上传,则会显示出当前的工作状态和正在运行的任务;如果已经上传结束了,就会显示 JobState:Succeed

5. 其他情况

上述是一键上传,其实也可以逐步上传,这个数据迁移单机部署这个链接处也有介绍,但是要麻烦很多,不建议新手去尝试,直接采用上述一键上传的步骤即可。是否上传成功,取决于你在上面的每一步配置是否正确!!