OssImport是什么,可以用来干什么?
以下是阿里云官方对OssImport工具的描述:
OssImport工具可以将本地、其它云存储的数据迁移到OSS,它有以下特点:
支持的丰富的数据源,有本地、七牛、百度BOS、AWS S3、Azure Blob、又拍云、腾讯云COS、金山KS3、HTTP、OSS等,并可根据需要扩展;
支持断点续传;
支持流量控制;
支持迁移指定时间后的文件、特定前缀的文件;
支持并行数据下载、上传;
支持单机模式和分布式模式,单机模式部署简单使用方便,分布式模式适合大规模数据迁移。
OssImport下载安装
# 在当前工作目录下创建ossimport目录
mkdir ossimport
cd ossimport
# 下载解压
wget http://gosspublic.alicdn.com/ossimport/standalone/ossimport-2.3.1.zip
unzip ossimport-2.3.1.zip
# 查看ossimport的目录结构
ossimport
├── bin
│ └── ossimport2.jar # 包括Master、Worker、Tracker、Console四个模块的总jar
├── conf
│ ├── local_job.cfg # 单机Job配置文件
│ └── sys.properties # 系统运行参数配置文件
├── console.bat # Windows命令行,可以分布执行调入任务
├── console.sh # Linux命令行,可以分布执行调入任务
├── import.bat # Windows一键导入,执行配置文件为conf/local_job.cfg配置的数据迁移任务,包括启动、迁移、校验、重试
├── import.sh # Linux一键导入,执行配置文件为conf/local_job.cfg配置的数据迁移任务,包括启动、迁移、校验、重试
├── logs # 日志目录
└── README.md # 说明文档,强烈建议使用前仔细阅读
OssImport单机模式配置
此配置文件大部分配置项采用默认值即可,以下只罗列需要修改的配置项,即本地待同步目录以及OSS目的端信息
vim conf/local_job.cfg
#源前缀,默认为空,如果srcType=local,则此目录是本地目录,如果是其他类型,则是源Bucket里需要同步的Object的前缀,注意如果是本地目录,需要完整目录路径(以'/'进行分割并且以'/'结尾,例: c:/example/)
srcPrefix=/home/admin/logs/bak/nginx_bak/
#目的 access key
destAccessKey=Jwd1******nMnZBs
#目的 secret key
destSecretKey=ir8Qt*****jwh5b0eF******xM5QE
#目的endpoint,请根据您的实际oss区域填写,默认为杭州的域名,如果用阿里云ecs虚拟机做迁移的,请使用internal域名,不计费且不受虚拟机带宽限制(非虚拟机无法使用);例:http://oss-cn-hangzhou-internal.aliyuncs.com
#注意:域名里不要带上bucket前缀,oss域名帮助页面:https://help.aliyun.com/document_detail/31837.html
destDomain=http://oss-cn-hangzhou-zmf.aliyuncs.com
#目的bucket,不需要加上"/"
destBucket=mybucket
#目标前缀,默认为空,直接放在bucket下(如果要将数据同步到oss的某个目录下,请以'/'结尾),注意:oss不支持以 '/' 作为文件的开头,所以destPrefix请不要配置以'/'做为开头
#一个本地文件路径为 srcPrefix + relativePath的文件,迁移到oss的路径为destDomain/destBucket/destPrefix + relativePath
#一个云端文件路径为 srcDomain/srcBucket/srcPrefix + relativePath的文件,迁移到oss的路径为destDomain/destBucket/destPrefix + relativePath
destPrefix=docs/
#数据迁移时,是否跳过已经存在的文件。当设置为true时,根据文件的size和LastModifiedTime判断是否跳过;为false时,总是覆盖OSS上已有文件。jobType为audit时此项不生效。
isSkipExistFile=true
同步本地文件到OSS的配置示例文件:https://github.com/aliyun/ossimport/blob/master/conf/local/job.cfg
执行数据同步
# 执行import.sh脚本,启动文件同步
sh import.sh
# 也可以为import.sh脚本添加可执行权限,然后直接执行
chmod +x import.sh
./import.sh
参考
阿里云OssImport官方文档:https://help.aliyun.com/document_detail/56990.html
评论区