[关闭]
@Jemy 2014-12-22T08:45:24.000000Z 字数 1958 阅读 1399

数据迁移工具qrsync的使用方法

七牛


作者: 金鑫鑫
邮箱: jinxinxin@qiniu.com

简介

qrsync是七牛提供的数据同步工具,可以很方便地将本地目录下面的所有文件都同步到七牛云存储的空间中。所要同步的目录和文件名必须为UTF8编码。

特性

  1. 支持自动将子目录结构转化为文件前缀
  2. 支持手动前缀
  3. 支持增量同步
  4. 支持对大文件支持分片
  5. 支持删除操作同步(默认不开启)
  6. 支持输出详细上传过程日志

下载

qrsync 命令行辅助同步工具下载地址:

平台 链接
Mac OS http://devtools.qiniu.io/qiniu-devtools-darwin_amd64-current.tar.gz
Linux 64bits http://devtools.qiniu.io/qiniu-devtools-linux_amd64-current.tar.gz
Linux 32bits http://devtools.qiniu.io/qiniu-devtools-linux_386-current.tar.gz
Linux ARMv6 http://devtools.qiniu.io/qiniu-devtools-linux_arm-current.tar.gz
Windows 32bits http://devtools.qiniu.io/qiniu-devtools-windows_386-current.zip
Windows 64bits http://devtools.qiniu.io/qiniu-devtools-windows_amd64-current.zip

配置文件

七牛的qrsync工具是命令行工具,运行的时候需要一个指定同步信息的配置文件。配置文件的内容以JSON格式组织。
下面的文件经过了格式化处理,实际上不应该包含各种空格和换行。

  1. {
  2. "src": "/home/your/sync_dir",
  3. "dest": "qiniu:
  4. access_key = <AccessKey>&
  5. secret_key = <SecretKey>&
  6. bucket = <Bucket>&
  7. key_prefix = <KeyPrefix>&
  8. threshold = <Threshold>",
  9. "deletable": 0,
  10. "debug_level": 1
  11. }
参数名称 必填 说明
src 本地需要同步数据的目录全路径。这个路径下面的所有文件读会被同步到指定的空间中,如果该路径下面还有子目录,那么子目录的名字会作为上传文件的前缀。
bucket 目标空间,可以为公开空间和私有空间。
key_prefix 手动指定的前缀,对于有子目录的情况,最终的文件名由指定前缀,子目录名称和原始文件名组成。
threshold 进行分片上传的文件大小,单位为字节,文件大小超过这个限定值,就会采用分片上传,默认为1024*1024字节,即1MB。
deletable 是否同步本地的删除操作。
debug_level 日志输出级别,默认为1,输出常规日志,为0时输出详细日志。

使用方式

针对自己的操作系统,选择合适的版本。对于Linux, Mac系列的操作系统,可能在运行qrsync命令之前,需要使用chmod +x qrsync来给qrsync加上运行的权限。为了可以方便地在任何地方使用qrsync,建议将qrsync所在的文件夹路径加入到系统的环境变量PATH里面。

qrsync的运行方式是qrsync conf.json或者./qrsync conf.json或者 qrsync.exe conf.json

qrsync只能将本地数据单向同步到七牛云存储服务器,不支持反向同步数据。

qrsync同步的时候,注意不要将配置文件放入到需要同步的文件夹中,以避免同步到公开空间的情况下,造成AccessKey和SecretKey等信息泄漏。

多目录同步策略

qrsync同步数据的时候,是根据配置文件,一个文件一个文件来进行上传的,也就是说没有设置上传并发的地方。

但是,我们稍微动下脑筋就可以解决这个问题了。多开几个qrsync进程就可以了。只要为每个qrsync进程指定各自独立的配置文件即可。

在多qrsync进程的情况下,如果遇到想将原来的子目录名称添加到上传文件名的前缀中,那么手动指定key_prefix参数即可。

比如:C:\Data目录下面有test1, test2,test3三个目录,现在每个目录下面的文件都很多,为了提高上传效率,我们可以分别为test1, test2, test3写一个配置文件,但是又希望上传的文件名里面有诸如test1, test2, test3这样的前缀,那么直接在配置文件里面指定key_prefix参数即可达到目的。

对于多qrsync进程,根据你实际的本地带宽来设定,本地带宽有限的情况下,开再多也是没有用的。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注