Syncthing是一个开源免费的数据同步神器,支持Android、Linux、Windows、Mac OS X等操作系统,可以在2台任何系统任何设备之间实现文件实时同步;同步的数据非常安全,不会存储在设备以外的其他地方。所有数据同步交互可以使用TLS进行保护,防止数据被截获。
1.Syncthing安装
Syncthing的安装非常简单。
sudo apt-get install syncthing syncthing-discosrv syncthing-relaysrv
安装好之后,直接执行syncthing命令即可运行程序。
2.Syncthing配置
2.1 远程GUI配置
默认情况下,Syncthing GUI配置界面只能由同一台计算机进行访问,对于一个服务器来说,非常不方便,需要改为远程访问。
首次执行syncthing命令后,会生成config文件。修改congfig文件更改配置。
sudo vim ~/.config/syncthing/config.xml
把GUI服务的访问地址从127.0.0.1:8384改为0.0.0.0:8384,开放所有ip都能访问。
......
<gui enabled="true" tls="false" debugging="false">
<address>0.0.0.0:8384</address>
<user>admin</user>
......
</gui>
......
重启syncthing服务后,即可用浏览器远程访问http://ip:8384上GUI配置界面。
2.2 设置管理员账号密码
syncthing默认访问GUI配置界面时,不需要用户名和密码,可以在"操作"->"高级"选项里的"图形用户界面设置"User"和"Password"。
管理员账号设置后,重启syncthing生效。
2.3 启用TLS
TLS可以保证页面访问的安全性。syncthing的GUI配置页面默认也不需要HTTPS访问,可以在"操作"->"高级"选项里的"图形用户界面启用"Use TLS"。
配置修改后,重启syncthing生效。
3.同步数据
为了同步数据,连接的两端Syncthing需要将对方服务器添加到节点列表,并添加一个存储库(目录)进行同步。
3.1 添加设备
登录GUI配置页面,点击"添加远程设备",在添加页手动输入所要添加设备的"设备ID",或选择syncthing自动发现的设备,即可完成设备添加。
3.2 添加目录
在本设备的目录列表中,选择需要同步的目录,进入"选项"->"共享"页面,选择需要同步的设备。
同步数据的两端需要互相选择同步设备。
3.3 版本控制
Syncthing支持文件版本控制功能,可以自动保留文件的历史版本,一旦出现文件被删除、丢失、文件内容被替换、同步出错等情况,用户均能从该文件的历史版本中选一个进行恢复。
版本控制的配置在共享文件夹的"选项"->"版本控制"里进行设置,分为"回收站式版本控制"、"简易版本控制"、"阶段版本控制"和"外部版本控制"4种,可根据实际需要进行选择。
数据同步两端完成数据同步所需的配置后,即可进行同步。