应用七牛自动同步文件

我们在写博客的时刻,特别用markdown语法是没法直接插入图片的,这时候就须要关联图片,而关于Markdown来讲,又没有方法直接贴图片,须要将图片上传到一个网站上,以后再取图片的链接,应用[!image]来关联图片,觉得照样挺贫苦的,背面做项目时,同事有效七牛服务器做存储,发现是个好东西,不仅能够轻易上传图片,而且轻易供应外链,异常方面,体验用户有1G空间,能够上传身份信息考证成为规范用户,如许就有10G的空间了,小猿我已请求,哈哈!!!下面我来讲说怎样完成自动同步.

简介

qrsync 是一个依据七牛云存储API完成的浅易敕令行辅佐上传同步东西,支撑断点续上传,增量同步,它可将用户当地的某目次的文件同步到七牛云存储中,同步或上传几百GB甚至上TB的文件毫无鸭梨。

  • 注重:被同步的文件名和途径必需是utf8编码,非utf8的文件名和途径将会同步失利。

下载

qrsync 敕令行辅佐同步东西下载地点:

这里我们挑选Mac OS下载,解压后会有以下几个文件:
<pre>
-rwxr-xr-x 1 starnet staff 9607820 Jun 30 2014 qboxrsctl
-rwxr-xr-x 1 starnet staff 2543904 Jun 30 2014 qetag
-rwxr-xr-x 1 starnet staff 8394344 Jun 30 2014 qrsboxcli
-rwxr-xr-x 1 starnet staff 12006444 Jun 30 2014 qrsync
</pre>
将这些文件拷贝到/usr/bin中
<pre>
sudo cp qrs* /usr/bin/
</pre>

使用方法

先竖立一个设置文件(JSON花样),比方叫conf.json,内容以下:

{
    "src":          "/home/your/sync_dir",
    "dest":         "qiniu:access_key=<AccessKey>&secret_key=<SecretKey>&bucket=<Bucket>&key_prefix=<KeyPrefix>&threshold=<Threshold>",
    "debug_level":  1
}
  • 替代时<>一并替代,后两项能够不设置,直接删除即可.

个中,AccessKeySecretKey 须要在七牛云存储平台上请求。请求步骤步骤以下:

参数称号必填申明
src● 当地源目次途径
是当地须要同步上传目次的完全的绝对途径。这个目次中的一切内容会被同步到指定的 bucket 中。
注重:Windows 平台上途径的示意花样为:盘符:/目次,比方 E 盘下的目次 data 示意为:e:/data
bucket● 目的空间
是你在七牛云存储上愿望保留数据
Bucket称号,挑选一个适宜的名字即可,要求是只能由字母、数字、下划线等构成。
能够先在七牛治理控制台上建立。
key_prefix● 文件上传到七牛云存储后的给key增加的前缀。
比方,假如将 key_prefix 设为 abc/,在 src 中存在一个文件 a.txt, 则上传到七牛云存储后,此资本的key为 abc/a.txt
threshold● 举行分片上传的阈值。
单元为Byte, 默许值为1MB,当文件大小小于1MB时直传全部文件,当文件大于1MB时举行分片上传该文件。
你能够依据你的收集状态来决议该值的大小。
debug_level● 日记输出品级
一般设置1,只输出必要的日记。
当上传历程发作题目时,设置为0能够获得细致日记。
  • 注重:切勿将设置文件保留在被同步的目次中,否则会带来泄漏SecretKey的风险。

能够在 七牛云存储开辟者网站背景 举行响应的域名绑定操纵,域名绑定胜利后,若您将 bucket 设为公用(public)属性,则能够用以下体式格局对上传的文件举行接见:

<pre>
http://&lt;绑定域名>/<key>
</pre>

key 等于 src 里边文件名或文件的相对途径,key 能够包括斜杠但不能以斜杠开首。比方 src 存在文件 a.txta/b/c.txt,且绑定的域名为 foo.qiniudn.com,那末即可用以下途径接见:

<pre>
http://foo.qiniudn.com/a.txt
http://foo.qiniudn.com/a/b/c.txt
</pre>

在竖立完 conf.json 设置文件后,就能够运转 qrsync 顺序举行同步。

Unix/Linux/MacOS 体系能够用以下敕令行:

<pre>
$ qrsync /path/to/your-conf.json
</pre>

Windows 体系用户在 [最先] 菜单栏挑选 [运转] 输入 cmd 回车即可翻开 DOS 敕令行窗口,然后切换到 qrsync.exe 的地点磁盘途径。假定你的 qrsync.exe 寄存在 d:/tools/qrsync.exe,那末以下几行敕令能够切换到 qrsync.exe 寄存的目次:

<pre>

d:
cd tools

</pre>

进入到 qrsync.exe 地点目次后运转以下敕令即可:

<pre>

qrsync.exe /path/to/your-conf.json

</pre>

须要注重的是,qrsync 是增量同步的,假如你上一次同步胜利后修正了部份文件,那末再次运转 qrsync 时只同步新增的和被修正的文件。固然,假如上一次同步历程出错了,也能够从新运转 qrsync 顺序继承同步。

默许的七牛同享域名是7ximmr.com1.z0.glb.clouddn.com,以下是你同步的文件对应的外链地点
<pre>
http://7ximmr.com1.z0.glb.clouddn.com/文件名
</pre>

常见故障排查

设置文件<src>设置毛病:

毛病信息

# Windows下
[WARN][qbox.us/shell/qrsync] qrsync.go:70: qrsync.Run failed failed:
 ==> FindNextFile <src>: The system cannot find the file specified. ~ qrsync.Run failed

# Linux或许Mac下
[WARN] qbox.us/shell/qrsync-v2/qrsync.go:70: qrsync.Run failed failed:
 ==> stat <src>: no such file or directory ~ qrsync.Run failed
 ==> qbox.us/qrsync/v2/sync/sync.go:36: stat <src>: no such file or directory ~ sync.Run: src.ListAll failed

解决方案

  • Windows下设置以下:

{
    "src": "C:/Users/Username/Desktop/Test_Directory",
    ...
}

重要须要关注目次分隔符为/,别的文件夹途径假如包括中文须要为UTF-8编码。

  • Linux或许Mac下设置以下:

{
    "src": "/Users/Username/Documents/Test_Directory",
    ...
}

发起途径设置为待同步目次的绝对途径。

更多关于iOS进修开辟的文章请上岸我的个人博客www.zhunjiee.com,迎接前来观光进修

    原文作者:zhunjiee
    原文地址: https://segmentfault.com/a/1190000003931665
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞