作者:唐尸三摆手
一、文件同步规划
Syncthing是一个去中心化的同步应用,任何一台设备上的Syncthing既可以算是服务器端也可以算是客户端,使用起来相当灵活,正因如此,如果手头上需要同步的设备比较多的时候,很容易搞糊涂,不知道到底哪些设备之间需要同步,哪些设备之间不需要同步。所以在开始使用Syncthing之前要规划好自己文件的同步体系,才能给日后的使用带来便利。
1、据设备位置梳理自己手头的设备
一是工作地点的办公电脑,二是家中的台式电脑,三是所有可移动的设备(包括手机、笔记本、PAD等),四是NAS了。
2、梳理三类设备中需要同步的数据
办公电脑:下载的文件、即时通讯软件(如微信、钉钉等)接收的文件、工作文件,笔记文件。
家中电脑:即时通讯软件(如微信、钉钉等)接收的文件,这里我没有列出家中电脑的下载目录以及笔记文件,是因为我把家中电脑的下载目录和笔记文件全部都指向了NAS中对应的目录,而在局域网中我可以非常便利的调用,因此不需要单独再去同步。
移动设备:下载的文件、即时通讯软件(如微信、钉钉等)接收的文件,相册,笔记文件。
NAS:
工作文件夹,工作文件夹用来同步和工作相关的文件,仅需要和办公电脑进行同步即可;
设备文件夹,内设Office PC、Home PC、Mobile、Notebook等文件夹,用来归集移动设备产生的碎片化数据,为了能够在家中和单位都有机会去整理这些碎片文件,我又会将这些文件同步回到办公电脑中,因此办公电脑中也会有一个设备文件夹(可以对比下面的图片帮助理解);
归档文件夹,就是平时不经常使用或者只有在家才会使用的文件,这些文件不需要同步,比如家庭相册、电影、音乐、前些年的工作文件。
笔记文件夹,同步日常笔记。
这样同步的框架清晰起来了
办公电脑的工作文件夹和笔记文件夹与NAS中的工作文件夹和笔记文件夹进行同步,下载文件和即时通讯软件产生的文件归集到NAS中设备文件夹中的Office PC文件夹。
家中电脑的即时通讯软件产生的文件归集到NAS中设备文件夹中的Home PC文件夹。
移动设备中所有需要同步的文件都归集到NAS中设备文件夹中的Mobile和Notebook文件夹。
NAS的设备文件夹同步到办公电脑的设备文件夹。
二、Syncthing的使用
在NAS中部署的Syncthing通过浏览器访问看到的界面和PC客户端是一摸一样的。而手机上虽然有专门为手机交互进行了优化的客户端,但其实功能上和其他平台是完全一样的,甚至你可以在移动端切换到常规的WEBUI来使用。
1、软件下载
浏览器中搜索Syncthing找到官网下载页面,页面中除了下图的windows、macOS、Android之外,还支持各种linux发行版。唯一有些遗憾的是Syncthing没有IOS的应用。
2、软件使用
设置密码
第一次打开,Syncthing会有一个匿名报告的提示,我们这里当然选择“No”,不发送匿名报告。如果愿意点“Yes”也无妨,看自己喜好。
退出后是英文界面,我们把它修改为中文,点击右上English右侧的下拉箭头,选择Chinese(simplified)。
提示需要修改密码,红色和绿色的提示都是一个意思,点击其中任意一个提示右下角的“Settings”。打开之后先不急于修改密码,把之前特别长的设备名修改为好识别的名字,这里填写的是“MyNAS”。
切换到“图形用户界面”标签,填入用户名和密码,点击“保存”按钮。
页面自动刷新,弹出密码输入框,输入之后点击登录按钮,重新进入Syncthing。
当前设备中侦听程序对应的绿色数字是系统中设置的中继服务器的数量,以及目前连接上的服务器数量。
下方的设备发现后面对应的蓝色数字是指设置的发现服务器的数量,以及已经连接上的发现服务器数量,4/5是因为我并未配置IPv6导致的。
识别后面的蓝色数字是设备的识别代码,务必不要泄露。
添加设备
这里将NAS定义为本端设备,书房电脑定义为对端设备,来到书房电脑点击“识别”后面的蓝色代码。
在弹出的窗口中复制红框处的设备代码(最近更新的版本貌似有bug,下面那个复制按钮无法复制,只能手动复制)
回到本端设备,点击“添加远程设备”
在弹出的窗口中填入刚才复制的设备ID,并自定义一个设备名,点击“保存”按钮。
稍等片刻,对端设备上会弹出添加请求。在对端电脑上点击绿色的“添加设备”
Syncthing会自动填充本端设备(NAS)的设备ID和设备名称,直接点保存,完成设备添加。
因为还未设置自建的发现服务器,因此连接可能会慢一点,稍等片刻就能看到两端的设备已经连接上了
添加共享文件夹
在本端点击“添加文件夹”
自定义一个文件夹标签,文件夹路径是部署Syncthing时映射的文件夹,之前我把docker容器内部的/var/syncthing/files和NAS的mnt/pool/files建立了映射关系,因此我这里填入了~/files,也可以写/var/syncthing/files,这两种写法是一个意思。
填完之后别急着划走,点击上方的“共享”标签。在下面勾选需要同步的设备,点击“保存”。
再来到对端设备,会有一条添加文件夹的提示,点击绿的的“添加”按钮。
点击“浏览”,选择需要同步的文件夹。
退出后点击“保存”,完成设置。
文件夹高级设置
点击同步文件夹下方的“选项”。
选择“版本控制”标签,Syncthing有四种版本控制模式
回收站式版本控制:修改文件时,旧文件将移动到文件夹中的 .stversions 垃圾桶中。如果垃圾桶中已有同名文件,则会替换该文件。也就是说只能保留一个版本的备份文件
简易版本控制:可以指定需要保留版本的数量,超过这个数量之后较旧的那个版本就会被删除。
阶段版本控制:这种方式在你指定的时间内你的每次修改都会产生备份文件,只有超过指定时间的备份才会被删除。但保留的历史版本会遵循以下条件:最近一小时内的历史版本,更新间隔小于三十秒的仅保留一份。最近一天内的历史版本,更新间隔小于一小时的仅保留一份。最近一个月内的历史版本,更新间隔小于一天的仅保留一份。距离现在超过一个月且小于最长保留时间的,更新间隔小于一周的仅保留一份。
外部版本控制:一般用不到。
切换到“忽略模式”标签,可以按照一定规则,忽略需要同步的文件。
切换到“高级”中,
“监视更改”可以让Syncthing在文件发生变化时立刻进行同步,而不用的等待下次扫描的时候才同步。
“完整扫面间隔”每隔多久进行一次完整扫描,保持默认就行。
“文件夹类型”,比较有用的选项有三个“发送与接收”、“仅发送”、“仅接收”,“发送与接收”就是双向同步,任一设备端的文件发生了变化都会进行同步,“仅发送”是指本端设备文件发生变化时,会发送到对端,而对端文文件变化时不会发送到本端,也就是单向的增量同步。“仅接收”则与“仅发送”刚好相反。具体根据自己需要设置即可。
“最低空闲磁盘空间”当低于设置比例的时候会提醒用户。
添加发现和中继服务器
来到TrueNAS的应用界面,点击发现服务应用右上角的三个小点,在弹出的菜单中选择“日志”。
弹出的对话框中点击“选择”
在日志中找到发现服务器的ID号,复制保存。
同样的方式找到中继服务器的ID号(=号之后,&号之前的一串代码),并记录下来。
中继和发现服务器的设置需要在每一台设备上都要设置,发现服务器不是必须的,可以只设置中继服务器。
点击Syncthing右上角的“操作”→“设置”
选择“连接”标签,
协议监听地址中填写中继服务器信息,格式如下:
default, relay://IP或域名:22067?id=中继服务器ID(=号后方替换为你自己的服务器ID,IP地址可以修改为域名)
全局发现服务器中填写发现服务器信息,格式如下:
default, h t t p s://IP或域名:9443/?id=发现服务器ID(=号后方替换为你自己的服务器ID,IP地址可以修改为域名)
添加完成后点击右上角“操作”→“重启Syncthing”,Syncthing会重新连接服务器。
很快就可以看到侦听程序中的服务器由原来的3个变成4个,设备发现中的服务器由5个变为6个,而且都已经连接上了。
远程设备中的地址已经变为局域网中继服务器的IP地址了,连接类型也变为中继广域网。
移动端需要设置的内容与PC端,只要会设置PC端稍加摸索就会使用了,如果有疑问可以在评论区留言。
三、故障排除
1、文件夹数量限制
在linux为底层的系统中部署Syncthing,当同步文件夹数量超过8192个时,会出现下面的信息。
官方的解决方案在这里:https://docs.syncthing.net/users/faq.html#inotify-limits
根据自己使用的版本,在系统中用命令行运行相应的命令,即可解除限制。
命令一:
echo “fs.inotify.max_user_watches=204800” | sudo tee -a /etc/sysctl.conf
命令二:
echo “fs.inotify.max_user_watches=204800” | sudo tee -a /etc/sysctl.d/90-override.conf
命令三:
echo 204800 | sudo tee /proc/sys/fs/inotify/max_user_watches
输入完成之后,不想等的话可以重启下docker应用。先点一下下图箭头处的停止,完全停止之后按钮会变成启动,再点一下,重新启动docker就可以了,实在不行重启NAS也可以。
2、.stfolder文件丢失
每一个同步文件夹中都会有一个.stfolder文件夹,不知什么原因,偶尔会发生丢失,导致无法同步,这时候只需要新建一个名为.stfolder的文件夹,放入无法同步的目录中,点击“重新扫描”即可解决故障。
四、总结
Syncthing、Syncthing中继和发现服务器的部署与使用就介绍完了,作为一款优秀的同步工具Syncthing的使用方面还有很多细节,因为每个人的都有自己的使用习惯,可以根据自己的喜好对同步的逻辑和同步方式进行调整,设置完成之后,相信他一定会让你感受到很大的便利。如有任何疑问请在评论区留言。
查看文章精彩评论,请前往什么值得买进行阅读互动
4000520066 欢迎批评指正
All Rights Reserved 新浪公司 版权所有