Syncthing不用圖形界面僅使用控制臺(tái)的配制方法
Syncthing是什么?
可以在兩臺(tái)或多臺(tái)設(shè)備間自動(dòng)同步文件,?不需要公網(wǎng)IP, 只要機(jī)器間互相知道對(duì)方的設(shè)備ID就可以p2p加密數(shù)據(jù)傳輸文件同步, 理論上可以用這個(gè)自己搭網(wǎng)盤. 官網(wǎng)地址:?https://syncthing.net/

應(yīng)用場(chǎng)景舉例(小劇場(chǎng))
我需要用ssh連接導(dǎo)師搭的服務(wù)器(后稱煉金爐)運(yùn)行程序, 需要把文件傳輸?shù)綗捊馉t, 等金煉完再把結(jié)果傳回我自己的電腦. 通常來說與煉金爐的ssh連接掛機(jī)一段時(shí)間就會(huì)斷, 也就是說沒人看著的話煉金爐會(huì)自動(dòng)關(guān)閉, 好在煉金爐裝了tmux, 即使ssh斷掉也可以繼續(xù)運(yùn)行, 所以如果我把Syncthing進(jìn)程跑在tmux開啟的會(huì)話里面就可以一直保持后臺(tái)運(yùn)行, 就可以一直在線保證文件同步.?好消息是Syncthing有圖形界面, 在我自己電腦上配置很方便,?壞消息是ssh連的煉金爐沒有圖形界面只有控制臺(tái), 配置很麻煩, 搜半天都找不到無圖形界面的配置方法, 官方的安裝教程視頻[11]甚至需要sudo權(quán)限,?不過好在官網(wǎng)的文檔還是很詳細(xì)的, 我昨天折騰一下午才搞定, 于是就有了本文所講述的配置方法.?
Syncthing安裝
Syncthing支持Windows, Linux, MacOS, Android平臺(tái), iOS說是因?yàn)闆]法找到穩(wěn)定的后臺(tái)運(yùn)行同步的方法所以沒有支持的計(jì)劃, 不過有第三方試圖鼓搗個(gè)iOS版[2]. 支持圖形界面的平臺(tái)安裝可謂是易如反掌[3], 所以這里只說如何在Linux下只通過控制臺(tái)安裝, 其實(shí)也不能叫安裝, 畢竟只要下載下來就可以跑了. 各個(gè)平臺(tái)版本的下載鏈接在這里: https://syncthing.net/downloads/
這部分其實(shí)官方說的也挺清楚的:https://docs.syncthing.net/intro/getting-started.html, 這里就列一下我安裝用了哪些命令
第一步, 先選一個(gè)下載安裝的位置, 比如我選在~/.syncthing目錄下:
第二步, 下載對(duì)應(yīng)的版本, 比如我下載的是Linux x86-64版本:
第三步, 解壓下載的壓縮包
第四步, 進(jìn)到解壓出的文件夾里:
然后運(yùn)行下試試看, 這里不僅是看能不能運(yùn)行, 第一次運(yùn)行會(huì)生成后面需要用到的配置文件:
稍微看一下運(yùn)行時(shí)輸出的內(nèi)容有沒有報(bào)錯(cuò)什么的, 如果有的話你可以硬著頭皮假裝沒事然后繼續(xù), 說不定報(bào)錯(cuò)內(nèi)容沒什么影響;?或者先點(diǎn)個(gè)收藏然后去解決報(bào)錯(cuò).?
沒有圖形界面只用控制臺(tái)的配置方法
配置階段有圖形界面的話就很容易了, 官方說得也挺清楚, 谷歌機(jī)翻也還算是人話:?https://docs.syncthing.net/intro/getting-started.html#configuring, 這里就不說了, 圖形界面配置教程網(wǎng)上一搜就有.?
終于來到正題了, 沒有圖形界面只有控制臺(tái)的配置方法. 用圖形界面配置本質(zhì)上也是修改配置文件, 只不過圖形化了容易看懂, 沒有圖形界面的話直接改配置文件就好了, 只是需要參考配置文件的文檔說明:?https://docs.syncthing.net/users/config.html. 本節(jié)以下內(nèi)容用這臺(tái)設(shè)備指代只有控制臺(tái)沒有圖形界面的設(shè)備, 用另一臺(tái)設(shè)備指代需要與這臺(tái)設(shè)備同步的其他設(shè)備.?
Linux下配置文件的位置在~/.config/syncthing/config.xml, 在這個(gè)文件里面我們需要獲取這臺(tái)設(shè)備的ID并且把需要同步的另一臺(tái)設(shè)備的信息加到里面.?
第一次下載運(yùn)行的話配置文件從頭到尾只有一個(gè)設(shè)備ID重復(fù)出現(xiàn), 也就是這臺(tái)設(shè)備的ID了, 或者通過每個(gè)ID串后面的name字段來判斷是哪個(gè)設(shè)備, 找到這臺(tái)設(shè)備的ID復(fù)制去配置另一臺(tái)設(shè)備.?另一臺(tái)設(shè)備的ID可以用類似方法獲得或者在圖形界面右上角Action菜單里找到.?
每臺(tái)設(shè)備的信息和設(shè)置什么都用以下內(nèi)容表示, 詳情參考配置文件的文檔[8]
整段復(fù)制, 粘貼到配置文件已有的那個(gè)device元素之后, 已有的那個(gè)是這臺(tái)機(jī)器的設(shè)備信息. 改掉device id和name就可以連接到另一臺(tái)設(shè)備了. 等一會(huì)之后另一臺(tái)設(shè)備的圖形界面右下角的設(shè)備列表里就應(yīng)該有這臺(tái)設(shè)備了, 而且顯示綠色的“Up to Date”.?上這里與默認(rèn)配置不同的是,?autoAcceptFolders字段我填了true(默認(rèn)是false), 這樣會(huì)自動(dòng)把另一臺(tái)設(shè)備加到這臺(tái)設(shè)備的默認(rèn)文件夾的共享設(shè)備里, 也就是在配置文件中folder元素下面再添加一個(gè)device, 就比較方便, 不過理論上手動(dòng)添加也可以吧.?
如果到此為止還沒法文件同步的話, 記得在另一臺(tái)設(shè)備的Syncthing圖形界面左上方的文件夾列表的edit界面里的Sharing選項(xiàng)卡下把這臺(tái)設(shè)備勾上, 或者在另一臺(tái)設(shè)備的Syncthing圖形界面右下方的設(shè)備列表的edit界面里的Sharing選項(xiàng)卡下把文件夾勾上勾上.?
注意事項(xiàng)及其他
我只測(cè)試了只共享默認(rèn)文件夾, 如果要共享多個(gè)文件夾的話需要更進(jìn)一步配置, 上面添加設(shè)備相關(guān)設(shè)置中的autoAcceptFolders可能也需要改.?
Syncthing的傳輸是加密的, 數(shù)據(jù)抵達(dá)設(shè)備后再解密成明文, 如果希望某臺(tái)設(shè)備僅作備份且不明文保存, 或者某臺(tái)設(shè)備作為中繼且不希望中繼設(shè)備上的文件明文保存, 可以參考[9]
除此之外Syncthing還有一些其他功能, 都可以在文檔中找到[10].?
數(shù)據(jù)無價(jià),謹(jǐn)慎操作; 碼字不易,有用就點(diǎn)個(gè)贊吧
參考資料
[1] Syncthing官網(wǎng)地址:?https://syncthing.net/
[2] Syncthing常見問題:有iOS客戶端嗎??https://docs.syncthing.net/users/faq.html#is-there-an-ios-client
[3] 形容簡(jiǎn)單的成語:?https://zhidao.baidu.com/question/524201790612301685
[4] Syncthing下載地址:?https://syncthing.net/downloads/
[5] Syncthing安裝配置官方說明:?https://docs.syncthing.net/intro/getting-started.html
[6] Syncthing圖形界面下的配置方法:?https://docs.syncthing.net/intro/getting-started.html#configuring
[7] Syncthing配置文件的文檔:?https://docs.syncthing.net/users/config.html
[8]?Syncthing配置文件的文檔關(guān)于設(shè)備的部分:?https://docs.syncthing.net/users/config.html#device-element
[9] Syncthing不可信(加密)設(shè)備:?https://docs.syncthing.net/users/untrusted.html
[10] Syncthing文檔https://docs.syncthing.net/index.html
[11] Syncthing官方安裝教程視頻(可替代的視頻很多,就不搬了): https://www.youtube.com/watch?v=2QcO8ikxzxA