咱們在寫博客的時候,尤爲用markdown語法是沒法直接插入圖片的,這時就須要關聯圖片,而對於Markdown來講,又沒有辦法直接貼圖片,須要將圖片上傳到一個網站上,以後再取圖片的連接,利用[!image]來關聯圖片,感受仍是挺麻煩的,後面作項目時,同事有用七牛服務器作存儲,發現是個好東西,不只可以方便上傳圖片,並且容易提供外鏈,很是方面,體驗用戶有1G空間,能夠上傳身份信息驗證成爲標準用戶,這樣就有10G的空間了,小猿我已申請,哈哈!!!下面我來講說如何實現自動同步.html
qrsync 是一個根據七牛雲存儲API實現的簡易命令行輔助上傳同步工具,支持斷點續上傳,增量同步,它可將用戶本地的某目錄的文件同步到七牛雲存儲中,同步或上傳幾百GB甚至上TB的文件毫無鴨梨。linux
注意:被同步的文件名和路徑必須是utf8編碼,非utf8的文件名和路徑將會同步失敗。shell
qrsync 命令行輔助同步工具下載地址:json
Mac OS: http://devtools.qiniu.com/qiniu-devtools-darwin_amd64-current.tar.gzwindows
Linux 64bits: http://devtools.qiniu.com/qiniu-devtools-linux_amd64-current.tar.gz七牛雲存儲
Linux 32bits: http://devtools.qiniu.com/qiniu-devtools-linux_386-current.tar.gz服務器
Linux ARMv6: http://devtools.qiniu.com/qiniu-devtools-linux_arm-current.tar.gzmarkdown
Windows 32bits: http://devtools.qiniu.com/qiniu-devtools-windows_386-current.zip網絡
Windows 64bits: http://devtools.qiniu.com/qiniu-devtools-windows_amd64-current.zip工具
這裏咱們選擇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 }
替換時<>
一併替換,後兩項能夠不設置,直接刪除便可.
其中,AccessKey
和 SecretKey
須要在七牛雲存儲平臺上申請。申請步驟步驟以下:
開通七牛開發者賬號。
登陸七牛管理控制檯,查看 Access Key 和 Secret Key。
參數名稱 | 必填 | 說明 |
---|---|---|
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://<綁定域名>/<key>
</pre>
key
便是 src
裏邊文件名或文件的相對路徑,key
能夠包含斜槓但不能以斜槓開頭。好比 src
存在文件 a.txt
和 a/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,歡迎前來參觀學習