自建云盘系列——Syncthing (BT Sync的开源替代)

Resilio Sync或者说BT Sync用起来还是挺简单的,只是如果觉得Resilio Sync可设置的太少,想要控制更多东西并且还想要开源或者免费的替代品的话,我觉得Syncthing应该是唯一的答案了,讲真我没太关注过BT Sync和Syncthing到底是哪个先出来的,反正我两者都很早就在用了,只不过BT Sync是用在本地,而Syncthing是用于我在服务器上的文件多节点同步(异地备份),为什么?因为Syncting的同步模式或者说文件保存模式挺多,可以单向同步,也能冗余备份等等,这个我在之后会展示。

所以我们先得装一下,安装渠道其实比较多,因为有很多社区的封装版本,我这边主要列举官方包以及部分社区包,其它的请自行访问官方下载 ——> 传送门

①Debian/Ubuntu

sudo apt-get install apt-transport-https
curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
sudo apt-get update
sudo apt-get install syncthing

②Centos

wget https://github.com/syncthing/syncthing/releases/download/v0.14.28/syncthing-linux-amd64-v0.14.28.tar.gz
tar xzf syncthing-linux-amd64-v0.14.28.tar.gz
cd syncthing-linux-amd64-v0.14.28
cp syncthing /usr/bin/

需要注意的是,Centos7下请使用文件夹内etc文件夹中的linux-systemd或者linux-upstart作为启动脚本,Centos6我建议使用supervisor作为运行控制

安装Supervisor

yum install python-setuptools -y
easy_install supervisor
echo_supervisord_conf > /etc/supervisord.conf
echo "supervisord" >> /etc/rc.local

在/etc/supervisord.conf 最后添加如下内容,然后启动(运行supervisord)或者重启supervisor (supervisorctl reload)

[program:syncthing]
command=/usr/bin/syncthing
autostart=true
autorestart=true
user=root
redirect_stderr=true
stdout_logfile=/var/log/syncthing.log

需要注意的是,Syncthing第一次启动会生成/root/.config/syncthing/ 用于保存配置文件以及证书、密钥(包括https证书、密钥)

请修改/root/.config/syncthing/config.xml 中27行的如下内容,这是监听地址,默认为本地监听,我们要修改为公网监听

<address>127.0.0.1:8384</address>
//修改为
<address>0.0.0.0:8384</address>

执行

supervisorctl restart syncthing

重启程序,稍等,现在我们可以访问http://你的IP:8384/ 来进入Syncthing的WebGUI界面,第一次会提示你设置密码

一般建议把https打开,虽然默认的是自签的证书(可以替换配置文件夹里的https.pem和https.key来实现更换https证书,更换完重启哦)

因为除了高级配置外几乎是全中文的,而且选项都有说明,所以不说太多了,就介绍下它的一小部分功能

通过修改文件夹类型可以配置为双向同步或者单向同步,而版本控制规则那就是很是复杂了

回收站版本控制:文件的删除和替换将导致旧版本被放入.stversions文件夹中的回收站(可控制清空回收站时间)

简易版本控制:文件的删除和替换将导致旧版本被备份到.stversions文件夹中,可设置最多备份多少次

阶段版本控制:比上一个多了指定备份文件夹以及额外指定多少时间后过期删除备份

外部版本控制:通过外部的Shell脚本进行复杂的判断(简直牛叉好不好)

对比BT Sync来说,Syncthing的可配置选项多了太多了,不过速度相比前者稍差以及稍微有点麻烦使得两者不相上下

 

声明:本文为原创,作者为 Svlik,转载时请保留本声明及附带文章链接:https://www.svlik.com/2462.html