(http://developer.qiniu.com/code/v6/tool/qrsync.html)
qrsync 命令行上传同步工具。是一个根据七牛云存储API实现的简易命令行辅助上传同步工具,支持断点续上传,增量同步,它可将用户本地的某目录的文件同步到七牛云存储中。
注意:被同步的文件名和路径必须是utf8编码,非utf8的文件名和路径将会同步失败。
(1)注册七牛账号,在个人面板的密钥管理中查看AccessKey和SecretKey
(2)添加资源:点击添加资源 -> 对象存储 -> 新建空间名称 -> 存储区域选华东(否则会出现第6步所示的错误) -> 确定创建。
(3)下载qrsync:
http://developer.qiniu.com/code/v6/tool/qrsync.html#download 并解压。
(4)先建立一个配置文件(JSON格式),比如叫 conf.json ,内容如下:
{
"src": "/home/your/sync_dir",
"dest": "qiniu:access_key=<AccessKey> &secret_key=<SecretKey> &bucket=<Bucket> &key_prefix=<KeyPrefix> &persistent_ops=<PersistentOps> &persistent_pipeline=<PersistentPipeline> &persistent_notify_url=<PersistentNotifyUrl>",
"debug_level": 1
}
其中,AccessKey 和 SecretKey 见第一步。Bucket即空间名称。
示例参考:
{
"src": "D:/www/server/backend/web/uploads/media",
"dest": "qiniu:access_key=nAoVB4-OdlGCMqx-L7vu1nn0nSrJBVs2 &secret_key=UtBCkVMsyb8DC8QbYSoGB6L-pO7&bucket=ws345",
"debug_level": 1
}
参数名称 | 必填 | 说明 |
---|---|---|
src | 是 | ● 本地源目录路径:是本地需要同步上传目录的完整的绝对路径。这个目录中的所有内容会被同步到指定的 bucket 中。注意:Windows 平台上路径的表示格式为:盘符:/目录 ,比如 E 盘下的目录 data 表示为:e:/data 。 |
Bucket | 是 | ● 目标空间:是你在七牛云存储上希望保存数据的Bucket名称,选择一个合适的名字即可,要求是只能由字母、数字、下划线等组成。可以先在七牛开发者平台上创建。 |
KeyPrefix | 否 | ● 文件上传到七牛云存储后给key添加的前缀。例如,如果将 key_prefix 设为 abc/ ,在 src 中存在一个文件 a.txt, 则上传到七牛云存储后,此资源的key为 abc/a.txt 。 |
PersistentOps | 否 | 资源成功上传后执行的持久化指令列表,每个指令是一个API规格字符串,多个指令用 ; 分隔。同时添加 PersistentPipeline 字段,使用专用队列处理,请参考 PersistentPipeline 字段说明。 |
PersistentPipeline | 否 | 转码队列名,资源上传成功后,触发转码时指定独立的队列进行转码。建议使用专用队列。 |
PersistentNotifyUrl | 否 | 接收预转持久化结果通知的URL。必须是公网上可以正常进行POST请求并能响应 HTTP/1.1 200 OK 的有效URL。该URL获取的内容和持久化处理状态查询的处理结果一致。发送body格式为 Content-Type 为 “application/json” 的POST请求,需要按照读取流的形式读取请求的body才能获取。 |
debug_level | 是 | ● 日志输出等级,取值0和1。通常设置1,只输出必要的日志。当上传过程发生问题时,设置0可以得到详细日志。 |
注意:切勿将配置文件保存在被同步的目录中,否则会带来泄露 SecretKey 的风险。
(5)在建立完 conf.json 配置文件后,就可以运行 qrsync 程序进行同步。
Unix/Linux/MacOS 系统可以用如下命令行:
$ qrsync /path/to/your-conf.json
Windows用户进入到 qrsync.exe 所在目录后运行如下命令即可:
> qrsync.exe /path/to/your-conf.jso
(6)若出现如下错误
{"error":"incorrect zone, please use up-z1.qiniu.com","reqid":"C3YAAONZ-zrs0lsU","details":["UP:1/400"],"code":400}
参考http://blog.csdn.net/do168/article/details/51764563。
解决办法:创建空间时选择存储区域,不能选华北。