数据同步工具相关操作 | 大装置帮助中心
跳到主要内容

数据同步工具相关操作

名称

sco ads - 数据同步工具相关操作。

当前支持以下几种数据同步场景:

  • aoss之间互传
  • afs之间互传
  • aoss与afs之间互传
  • 本地与aoss之间互传
  • 本地与afs之间互传
  • ...

说明

sco ads command SRC DST [global_options]

描述

即把SRC同步到DST,既可以同步目录,也可以同步文件。

其中:

  • SRC代表数据源地址及路径
  • DST代表目标地址及路径
  • command包含synccopy(缩写cp)两个,sync支持增量同步,copy(缩写cp)支持全量同步
  • [global_options]代表可选的同步选项,详情参考global options全局参数

对象存储地址格式为[NAME://][ACCESS_KEY:SECRET_KEY@]BUCKET[.ENDPOINT][/PREFIX]

其中:

  • NAME是存储类型,现在支持s3
  • ACCESS_KEYSECRET_KEY是对象存储的访问密钥,如果包含了特殊字符,则需要手动转义并替换,比如/需要被替换为其转义符%2F
  • BUCKET[.ENDPOINT]是对象存储的访问地址
  • PREFIX是可选的,限定要同步的目录名前缀

以下是一个AOSS对象存储的地址范例:

# aoss内网地址
s3://ak:sk@mybucket.aoss-internal.cn-sh-01.sensecoreapi-oss.cn/prefix
# aoss公网地址
s3://ak:sk@mybucket.aoss.cn-sh-01.sensecoreapi-oss.cn/prefix

global options全局参数

以下均为可选参数 |命令内容及配置参数|命令说明| |:------|:------| |--start KEY|同步的第一个文件名KEY| |--end KEY|同步的最后一个文件名KEY| |--threads VALUE|使用并发线程数VALUE (默认:10)| |--dryrun|不拷贝文件 (默认:false)| |--delete-src|同步后删除源地址的对象 (默认:false)| |--delete-dst|删除目标地址下的不相关对象 (默认:false)| |--exclude PATTERN|排除匹配PATTERN的文件| |--include PATTERN|匹配PATTERN的文件,可以与--exclude选项配合使用| |--exclude-dir PATTERN|排除匹配PATTERN的多个目录| |--include-dir PATTERN|匹配PATTERN的多个目录| |--bwlimit VALUE|限制最大带宽VALUE,单位为Mbps(默认:0,表示不限制)| |--recordName VALUE|跳过软链接源目录的迁移,并记录到VALUE| |--https|使用 HTTPS (默认:false)| |--verbose|将日志level设置为DEBUG| |--quiet|将日志level设置为ERROR| |--help|帮助中心| |--version|查看当前版本|

快速开始

全量迁移使用示例

  • 将存储桶s3://mybucket/data1的数据同步到本地目录./data,希望针对某一字典序范围进行同步,将会同步对象名属于闭合区间[a, f]字典序范围的对象:
sco ads --start=a --end=f cp s3://ak:sk@mybucket.aoss.cn-sh-01.sensecoreapi-oss.cn/prefix/ ./data/
  • 模拟复制存储桶s3://mybucket/data1的数据同步到本地目录./data,作用是list查看文件数目和大小:
sco ads --dryrun cp s3://ak:sk@mybucket.aoss.cn-sh-01.sensecoreapi-oss.cn/prefix/ ./data/
  • 将aoss存储桶s3://mybucket/data的数据同步到afs挂载目录/mnt/mydir,同步过程中只同步目录名包含关键字dir1
sco ads --include-dir=dir1 cp s3://ak:sk@mybucket.aoss.cn-sh-01.sensecoreapi-oss.cn/data/ /mnt/mydir/
  • 将aoss存储桶s3://mybucket/data的数据同步到afs挂载目录/mnt/mydir,同步过程中过滤掉目录名包含关键字dir2
sco ads --exclude-dir=dir2 cp s3://ak:sk@mybucket.aoss.cn-sh-01.sensecoreapi-oss.cn/data/ /mnt/mydir/
  • 删除aoss存储桶文件,只删除不copy:
sco ads --dryrun --deleteSrc cp s3://ak:sk@mybucket.aoss.cn-sh-01.sensecoreapi-oss.cn/data/ ./data/
  • 将afs挂载目录/mnt/mydata1的数据同步到aoss存储桶s3://mybucket/data,跳过软链接源目录的迁移,并记录到a.txt:
sco ads --recordName a.txt cp /mnt/mydata1/ s3://ak:sk@mybucket.aoss.cn-sh-01.sensecoreapi-oss.cn/data/

增量迁移使用示例

  • 将本地目录./data的数据同步到aoss存储桶s3://mybucket/data
sco ads --https sync ./data/ s3://ak:sk@mybucket.aoss.cn-sh-01.sensecoreapi-oss.cn/data/
  • 将aoss存储桶s3://mybucket/data的数据同步到afs挂载目录/mnt/mydir,同步过程中只同步对象名包含关键字aaa
sco ads --include=aaa sync s3://ak:sk@mybucket.aoss.cn-sh-01.sensecoreapi-oss.cn/data/ /mnt/mydir/
  • 将aoss存储桶s3://mybucket/data的数据同步到afs挂载目录/mnt/mydir,同步过程中过滤掉对象名包含关键字bbb
sco ads --exclude=bbb sync s3://ak:sk@mybucket.aoss.cn-sh-01.sensecoreapi-oss.cn/data/ /mnt/mydir/
  • 将存储桶s3://mybucket1/data1的数据同步到存储桶s3://mybucket2/data2,设置线程数为20,带宽上限为10Mbps:
sco ads --threads=20 --bwlimit=10 sync s3://ak1:sk1@mybucket1.aoss.cn-sh-01.sensecoreapi-oss.cn/data1/ s3://ak2:sk2@mybucket2.aoss.cn-sh-01.sensecoreapi-oss.cn/data2/
  • 模拟复制afs挂载目录/mnt/mydata1的数据同步到本地目录./data2,作用是list查看文件数目和大小:
sco ads --dryrun sync /mnt/mydata1/ ./data/