? ?Syncthing?是一個(gè)開源免費(fèi)的數(shù)據(jù)同步神器,算是全平臺(tái)運(yùn)行,跨平臺(tái)操作,支持?Android、Linux、Windows、Mac OS X?等系統(tǒng),可以使我們?cè)?2?臺(tái)或多臺(tái)任何系統(tǒng)任何設(shè)備之間,實(shí)現(xiàn)文件實(shí)時(shí)同步,很強(qiáng)大。而且數(shù)據(jù)很安全,不會(huì)存儲(chǔ)在你的設(shè)備以外的其他地方。所有通信都使用?TLS?進(jìn)行保護(hù)。所使用的加密包括完美的前向保密,以防止竊聽者獲得對(duì)您的數(shù)據(jù)的訪問權(quán)限。很適合我們用來搭建私有同步類型的備份盤。
安裝
本文只做?Linux VPS?服務(wù)器與?Windows?電腦之間的同步安裝及演示操作。Syncthing?官網(wǎng):點(diǎn)擊進(jìn)入,軟件自行下載最新版本即可。
1、VPS 安裝 Syncthing
安裝?Syncthing:
#目前最新版v1.18.0,日后自行修改版本號(hào)
wget https://github.com/syncthing/syncthing/releases/download/v1.18.0/syncthing-linux-amd64-v1.18.0.tar.gz
tar xzvf syncthing-linux-amd64-v1.18.0.tar.gz
cp syncthing-linux-amd64-v1.18.0/syncthing /usr/local/bin
開放端口
Sync-thing 默認(rèn)監(jiān)聽以下幾個(gè)端口
22000 (TCP)
8384 (TCP)
21027 (UDP)
44647 (UDP)
37269 (UDP)
這里我是個(gè)人使用,所以只開放 22000 (TCP) 與 8384 (TCP)
端口說明:
8384 是Web訪問控制端口
22000 是節(jié)點(diǎn)訪問端口
開啟?Syncthing:
syncthing
第一次啟動(dòng)會(huì)生成配置,然后給的內(nèi)網(wǎng)地址我們是進(jìn)不去的,這時(shí)候需要修改成外網(wǎng)地址才行(沒有外網(wǎng)地址? ->?LanProxy 端口映射了解一下),先使用?Ctrl+C?退出。然后編輯?/root/.config/syncthing/config.xml?文件,將?127.0.0.1:8384?改成?0.0.0.0:8384?即可,可以直接使用命令:
sed -i 's/127.0.0.1/0.0.0.0/g' '/root/.config/syncthing/config.xml'
再次啟動(dòng)?Syncthing:
syncthing
然后在瀏覽器訪問?http://IP:8384,就可以進(jìn)入?Syncthing?界面,如果打不開請(qǐng)自行開放?8384?端口。
# 例如放行8384端口,防火墻設(shè)置
/sbin/iptables -I INPUT -p tcp --dport 8384 -j ACCEPT
/etc/init.d/iptables save
service iptables restart
然后我們點(diǎn)設(shè)置,填好管理用戶、密碼及其它參數(shù)再重啟?Syncthing?即可。
如果不需要?p2p?進(jìn)行分享,也就是不需要進(jìn)行中轉(zhuǎn),那么可以將啟用?NAT遍歷?和?全球發(fā)現(xiàn)?進(jìn)行關(guān)閉。但是在服務(wù)端與客戶端之間,有一方的?ip?必須是公網(wǎng)。
2、Windows 安裝 Syncthing
Win?系統(tǒng)安裝?Syncthing?是非常簡單的,直接從官方網(wǎng)站下載對(duì)應(yīng)版本的?Syncthing?程序,解壓打開?syncthing.exe,然后會(huì)彈出一個(gè)窗口,瀏覽器再打開?http://127.0.0.1:8384?就可以進(jìn)入并使用?Syncthing?了,默認(rèn)文件夾路徑為?C:\Users\Administrator\Sync。
使用
首先打開其中一個(gè)設(shè)備的?Syncthing?界面,并點(diǎn)擊右上角操作?-?顯示ID?獲取設(shè)備?ID。再到另一個(gè)設(shè)備的?Syncthing?界面,點(diǎn)擊右下角添加遠(yuǎn)程設(shè)備,輸入需要同步的設(shè)備?ID?和共享的文件夾??磦€(gè)人需求決定是否要進(jìn)行高級(jí)配置 (選填),如果是私人用,不想加入公共的節(jié)點(diǎn),那么就點(diǎn)擊高級(jí) 找到 地址列表 將?dynamic?填寫為?tcp://服務(wù)器ip:22000(防火墻記得放行?22000?端口)
這時(shí)候另一臺(tái)設(shè)備會(huì)彈出一個(gè)窗口,點(diǎn)擊添加設(shè)備即可。
此時(shí)設(shè)備添加完成,就可以開始同步文件夾了,也可以在其中一臺(tái)設(shè)備新建 / 添加其它文件夾
進(jìn)行必要的文件共享設(shè)置
然后同樣的,另一臺(tái)設(shè)備也會(huì)彈出一個(gè)窗口,點(diǎn)擊同意添加即可。
最后等待片刻,所添加的文件夾都會(huì)自動(dòng)同步完成。
如果希望?Syncthing?在后臺(tái)運(yùn)行可以使用?nohup?命令來實(shí)現(xiàn):
nohup syncthing &> /dev/null &
更多功能請(qǐng)自行摸索,注意設(shè)備刪掉?Syncthing?后,同步的文件夾依然存在。
開機(jī)啟動(dòng)
此方法適用于任何發(fā)行版(Arch,De-bian,Linux Mint,Ubuntu,open-SUSE), 關(guān)于 win-dows 和 ma-cOS 系統(tǒng)設(shè)置開機(jī)啟動(dòng)的方法,詳見 ->?官方文檔
Debian/Ubuntu
設(shè)置系統(tǒng)服務(wù)創(chuàng)建開機(jī)啟動(dòng),此方法適用于 De-bian9+/Ubun-tu16.04+
#從源包內(nèi)復(fù)制
cp syncthing-linux-amd64-v1.2.0/etc/linux-systemd/system/syncthing@.service /etc/systemd/system/
#設(shè)置以root用戶執(zhí)行,如有需要請(qǐng)自行修改,前提是必須是系統(tǒng)用戶
mv /etc/systemd/system/syncthing@.service /etc/systemd/system/syncthing@root.service
使用命令:
#添加開機(jī)啟動(dòng)
systemctl enable syncthing@root.service
#啟動(dòng)syncthing服務(wù)
systemctl start syncthing@root.service
CentOS6/7
需要注意的是,Cen-tos7 下請(qǐng)使用原 sync-thing 包內(nèi) etc 文件夾中的 linux-sys-temd 或者 linux-up-start 作為啟動(dòng)腳本,Cen-tos6 我建議使用 su-per-vi-sor 作為運(yùn)行控制:
安裝 Su-per-vi-sor
yum install python-setuptools -y
easy_install supervisor
echo_supervisord_conf > /etc/supervisord.conf
echo "supervisord" >> /etc/rc.local? ? //開機(jī)啟動(dòng)supervisor
在?/etc/supervisord.conf?最后添加如下內(nèi)容,然后啟動(dòng) (運(yùn)行 su-per-vi-sord) 或者重啟 su-per-vi-sor (su-per-vi-sor-ctl re-load)
[program:syncthing]
command=/usr/local/bin/syncthing
autostart=true
autorestart=true
user=root
redirect_stderr=true
stdout_logfile=/var/log/syncthing.log