共计 2207 个字符,预计需要花费 6 分钟才能阅读完成。
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
正文完