当前位置: 首页 > Linux

SyncthingvsResilioSyncvsNextcloud文件同步服务比较

时间:2023-04-07 00:34:32 Linux

首先,这里有3个我一直在同时使用的开源同步服务。那么为什么要同时使用多个同步服务呢?主要是因为它们有自己的优势和一些不可替代的功能。ResilioSyncAdvancedEdition提供的可选同步允许我获取所有占用空间为0KB的文件的目录和名称。当我需要的时候,可以在本地以极快的速度下载。这是一个我很少用到的功能,但却是使用中最耳目一新的功能。分享和下载的时候,我没有负担,因为本地都不存在,我只下载我想要的文件。Nextcloud提供的文件共享,让您拥有更多的选择和权限控制。只需一个url链接,就可以轻松分享给需要的人,还可以提供文件操作动态,让您知道文件何时被处理。做了哪些改动,这在你想监控文件动态时非常有用。并且还提供了多种不同类型的App扩展,包括Rss程序、Keepass管理程序、音乐播放、视频播放等诸多功能。Syncthing这是我的个人文件同步工具,我用它来进行跨设备同步和备份。它是我的收件箱文件夹,收集了各个设备上的数据,我用它来同步数据、库、配置等。它的优点也很简单,安装简单,网络要求低,版本控制完善。我只需要打开后台,配置一下,就不用再操心了。当然,我不仅仅依赖以上三种同步服务(当然我也使用rsync、webdav、ftp,但这不在讨论范围内。),我还使用了电脑的备份服务用于备份。家庭文件服务器也会有快照计划,重要文件也会定期冷备份。这样,我就可以随心所欲地对待数据,再也不用担心它们会消失。:)接下来我们进入正题,比较三种同步服务的优缺点。1.平台覆盖平台SyncthingResilioSyncNextcloudOS?????Android??????macOS??????Windows??????Linux??????LinuxArm??????Dockerx86??????????DockerArm?N?PSMain???PS系统统计信息是官方支持的平台。第三方解决方案不计入统计。遗憾的是Syncthing没有iOS客户端。以前有过,现在下架了。我主要是在手机上使用Nextcloud,偶尔使用ResilioSync(毕竟只是用来同步大文件)。dockerarm不支持??的服务需要自己搭建(第三方也可以)。通常支持linuxarm的支持dockerarm,但是官方只构建了x86版本。Nextcloud的Nas版很可能会有,不过Nextcloud官方并没有介绍,NAS系统的官方库一般都可以下载。毕竟这种服务很常见。2.功能对比功能SyncthingResilioSyncNextcloud版本控制阶段性版本控制回收站限于客户端网络环境1.同步无限制2.中心区传输服务器少1.同步无限制2.设备发现需要国外环境1.同步无限制2.应用下载需要国外环境3.部分应用依赖国外服务同步速度1.内网全带宽2.外网依赖中转服务器带宽1.内网全带宽2.外网依赖同步设备带宽总和1.内网全带宽2.外网取决于部署服务器WebDav的带宽????选择同步???(高级版)?文件加密???(加密文件夹)??(需要设置)同步加密??????(需要开启https)部署难度低高文件共享??(只能共享整个库)??(只能共享整个库)??权限管理??????2.1网络问题这里重点说一下主要影响大家使用的网络问题.2.1.1为什么Syncthing的同步速度这么慢?先说结论吧,原因是开给Syncthing和离你最近的中继服务器太少,速度慢。PS:https://relays.syncthing.net/你可以在这里看到开放中继服务器的列表。(个人用的中继服务器不能开)刚开始用的时候,没觉得这个问题影响使用,因为数据量不大(都是配置文件),所以没在意。由于ResilioSync因为众所周知的问题挂了,我也把大量的同步任务迁移到了Syncthing,包括虚拟机、多媒体文件、下载的系统文件、备份文件等大文件数据。不过这样会要命的,几十kb的速度同步至少是按周算的,而且是不关机的那种。这时候我想到了两个办法先缓一缓。通过复制/同步到目标机器来传输所有文件。(这种方法不能解决根本原因,因为虚拟机变化产生的文件非常大,如果不经常变化,可以使用这种方法。)将文件拉取顺序改为小文件优先。在文件夹Options->Advanced->Filepullorder中修改。--------------------(想治本的同学看这里)我是善良友善的分界线--------------------当然,以上方法并没有解决根本问题。问题的真正解决方案是构建自己的中继服务器(强调)。如何构建Syncthing中继服务器。(官方英文文档)如何设置Relaying。(官方英文文档)我测试了docker镜像t4skforce/syncthing-relay。(参考搭建源码)限于篇幅,这里无法教大家如何部署。先提供一些资料供大家参考。:)2.1.2为什么ResilioSync找不到设备?先说结论,原因是无法访问ResilioSync的trackers和relaysserver。解决办法也很简单,让不可达的地址走代理就行了。获取配置文件https://config.resilio.com/sync.conf参考图片:限于篇幅,略略省略。:)为什么Nextcloud无法访问应用页面下载应用?先说结论,原因是应用商店进不去。App项目可自行前往GitHub下载。并解压到__NEXTCLOUD-PATH__/apps目录下,按照项目教程进行部署。解决部署服务器无法访问NextcloudAppServier的问题。由于文章篇幅,有点。:)2.2既然版本控制和数据有关,你最怕什么?当然是数据同步异常、数据丢失、误删、意外丢失等严重的数据丢失问题。------------------(结论看这里)我是善良友好的分界线---------------------这里不谈如何保护数据,直接得出结论:以上软件提供的版本控制不能完全保证数据在同步过程中不丢失。所以不要以为有了版本控制,数据就可以随意处理了。有时你想检索某个数据,但你可能无法找到它。(自行组合快照、副本和备份。)--------------------(测评见这里)我是善良友好的分界线--------------------Syncthing提供了很多版本控制,可以在各种场景下使用。其中,stage版本控制提供小时级别的历史记录,最大程度保证数据安全,并提供历史记录查看器,可以方便的查看历史记录并进行恢复。基本上可以适应个人所有的同步需求,而且在同步过程中对于数据来说也是比较安全的。参考图片:ResilioSync不提供版本控制功能,只有最简单的回收站机制。您甚至不知道是否将其放入回收站。因此,它只适用于共享类型、大文件类型、变化少、文件相对不重要、目录层次少、结构不复杂等使用环境。基本上,我用它来放大文件和多媒体文件。Nextcloud提供文件更改的版本控制,但只能使用其客户端。通过WebDav等访问没有版本控制,由于是用数据库记录所有文件,文件的数量和结构会考验你的数据库服务器。而且它的http传输原理导致默认对文件大小有限制。当然,以上问题可以通过其他方式解决,但我还是不推荐它作为主要的同步服务。但其丰富的扩展性和详细的文件记录非常适合共享和多人协作,适合对外提供服务,可以弥补Syncthing等个人同步服务即协作共享的不足。3、结论这三款开源同步服务在同步速度上都可以全速运行,在同步速度的体验上差别不大。但由于各自服务的机制不同,需要一定的动手能力才能达到最佳效果。以上只是这3个开源服务的一些细节对比。如果您还有其他更关心的细节,请添加。再见。:)