我有三台计算机(2x OS X和1x Ubuntu)和Android平板电脑。我正在尝试找到一种工具,可以在计算机和平板电脑之间自动同步文件。备份是单独处理的,因此不需要版本控制。

计算机之间应同步100GB以上的文件,计算机与平板电脑之间应同步数GB的数据。因此,Dropbox,Google Drive或OneDrive之类的服务并不实用,因为价格相对较高。另外,我不需要或不想进行云同步,因为通过Internet同步大量数据需要花费大量时间(以及金钱,具体取决于位置)。

评论

我已成功使用Gluster来使大型文件在服务器之间保持同步。它可以在Linux和OS X上运行,但不能在Android上运行。但是,它当然不是用户友好的,需要大量的手动配置。

Google云端硬盘现在提供200GB的订阅计划,因此价格可能不再是问题。

#1 楼

Bittorrent Sync(维基百科)似乎非常合适。只要有可用的连接,它就会自动在设备之间同步文件,处理冲突(如果发生冲突),并且与Linux,Android,OS X和Windows等兼容。它不需要中央服务器(或特定的笔记本电脑)。

反面,它仍然是beta版,可能已停产。但是,最近的消息说,它的用户群已经超过200万,因此停产可能不是最大的风险。 >似乎运行异常良好。
不手动启动应用程序,与手机同步并不总是可以。这也可能只是我的不耐烦。
在手机上主动进行同步(添加新文件)会消耗大量电池。但是,这是可以预期的,因为它占用大量资源(防止睡眠,写入闪存并保持wifi处于活动状态)。这是初始同步期间唯一的问题(添加10GB的照片)。
通过LAN / wifi的性能很好。轻松不断地使网络饱和。有限制上传和下载速率的选项。
必须同步时钟(相对而言,可以允许+ -5min),否则Sync无法正常工作。无法排除某些内容(例如临时文件)。
除了同步家用计算机和电话之外,我现在还使用Sync将文件发布到服务器上。共享内容时,我将其保存/导出到同步文件夹中,并且会自动下载到服务器中。比手动运行sftp更容易/更快。


评论


我还要补充一点,它几乎可以在任何设备上运行-我已经非常成功地在树莓派上运行了Arm构建,并且可以在包括NASes在内的许多其他基于arm的系统上运行。

–游侠怪胎
2014年2月22日下午0:46

我不确定这是否可以,但是我只是偷了您的答案,并在softwarerecs.stackexchange.com/questions/3255上发布了略作修改的版本?如果您想自己发布,可以删除它。欢呼声:-)

–尼古拉斯·拉乌尔(Nicolas Raoul)♦
14年4月15日在14:34

@NicolasRaoul dunno-我不明白为什么你不能这么做,尤其是在注明出处时。

–奥利
14年4月15日在19:58

Bittorrent Sync如何解决冲突?

–普莱克斯
15年8月11日在10:58

Syncthing是Bittorent Sync(现为Resilio)的开源替代方案

– joelostblom
18 Mar 16 '18 at 14:24

#2 楼

您可以使用rsync在Linux和MacOS计算机上通过SSH同步设备:

,并在Android上通过Cron
安排它的时间,例如FolderSync,它可以处理SSH(以及其他一些协议,包括FTP和几个云服务,因此也可以用于其他目的)。它具有自己的调度程序,但其付费版本也可以通过Tasker进行控制。


FolderSync屏幕截图:主页,定义文件夹对,定义文件夹对(来源:Google播放;单击图像可查看较大的版本)

我的个人经历
我在所有Android设备上都使用FolderSync,例如将我的(Titanium Backup / AppMonster)备份存储在我的PC上,并使我的工作记录器数据保持同步。最初,我在后者的单向同步中遇到了一些问题(不记得确切的细节)。但是切换到双向似乎也解决了这些问题。集成的计划程序会在5分钟内将设备唤醒,以检查是否有事情要做,即使您仅安排了一项日常活动,这也是我关闭该功能并使用Tasker触发同步的原因。设置完成后,我有时甚至会忘记它的存在:工作顺畅,每当我需要从PC访问数据时,它就在那里并且是最新的(例如,基于Android设备上创建的数据准备时间表) 。
无需谈论Cron的可靠性(从来没有让我失望)。我在Linux机器上使用rsync做很多事情-但大多是单向的;因此我无法分享双向同步的经验。对于我与之同步的东西(很多),我对此感到非常满意。命令行可能需要一些有关参数以及何时使用的知识。我已经为专用目的设置了自己的脚本,因此不必记住所有选项。

#3 楼

使用git-annex和git-annex-assistant,您可以在所有这些(以及更多)之间同步文件,甚至告诉它“对于此文件子集,确保它始终至少在两台计算机上,但最多在一台平板电脑上”和其他实际上是任意的规则。 git-annex-assistant是命令行git扩展git-annex实用程序的“用户友好”端,包括Android,Web和其他界面。尽管joeyh可能尚未在所有版本中完全稳定,但它正在积极地进行开发,因此它会随着时间的推移变得越来越好,尤其是随着越来越多的人使用/测试它。

kickstarter页面,即使该助手已经获得资金并且已经开发了一年多,因为它具有很多链接和令人惊奇的细节。)

我自己使用了它(git-annex,不是它是一个有用的工具,但是有时您需要三思而后行,以充分利用它(但是,即使您没有想到,也可以使用它来做事;例如,替换OwnCloud)效果更好)。兼容性没有问题,只有一个或其他罕见的错误。确实发生了回归,但是这种回归很少发生,并且通常很快就能解决。开发人员非常平易近人。

评论


我会检查一下。不过,Android支持似乎不太稳定。

–奥利
2014年2月5日,0:30

您是否使用过git-annex(-assistant)?您可以实际推荐吗?有什么好/不好吗?它正在积极开发中,遇到任何向后兼容性问题/回归吗?

–奥利
14年2月14日在13:23

该解决方案包含许多活动部件,但是一旦您将它们全部翻转,结果将具有惊人的通用性。这绝对是解决此问题的“吃到饱”的解决方案。

–卡莱布
2014年2月25日在9:29

#4 楼

Unison是文件同步器。可以很好地在两台计算机之间同步文件,可以在两台计算机中的任何一台上修改文件。如果您的要求是“ rsync,只有两种方式”,那么Unison正是您所追求的。

对于两台以上的计算机,请使用星型模式:一台中央计算机,所有其他计算机都将同步

我从早期开始就一直以这种方式使用Unison(在Linux和偶尔的Windows上),并且还没有出现可以解决相同问题的替代方案。分布式版本控制系统(Mercurial,Bazaar,Git等)也可以起到文件同步的作用,但是它们的功能却更为繁重:如果您要认真处理每个文件上的文件,它们将非常有用。机器。

Unison既可以从命令行使用,也可以通过简单的GUI使用。它可以在Linux,OSX和其他Unix变体以及Windows上运行。要与Android平板电脑同步,您可以使用带有可选GUI的本地Android端口(SSH服务器随附)。

评论


好吧,要求不是“ rsync,只有两种方式”。从星形模式开始,它要求中央计算机始终(或几乎始终)可用。

–奥利
2014年2月5日,1:14

@Olli如果没有星型图案,您将很难避免冲突。 Unison警告您有关冲突的信息,但并不能真正解决冲突。为了有机会解决冲突,您需要使用版本控制软件(例如,基于git的软件),该软件功能更强大但更难使用。

–吉尔斯'所以-不再是邪恶的'
2014年2月5日在1:42



如果同时修改文件,使用星型模式将很难处理冲突。星型根本无法解决问题。

–奥利
2014年2月5日在1:44

而且,只有在可以合并文件的情况下,git-annex(或一般而言的git)才有助于解决冲突(与Unison相比)。例如图片或视频则不是这种情况。

–奥利
2014年2月5日,下午1:47

您为此使用Unison吗?您知道效果很好吗?您可以实际推荐吗? Android端口如何?

–奥利
14年2月14日在13:22

#5 楼

我使用GoodSync(wiki)来在两个Windows桌面和一个Ubuntu之间同步巨大的目录。也宣布了Mac和Android支持。我个人喜欢的是:


很多调度/包括/排除目录/模式/冲突策略/分层作业/任何设置/配置。




它可以工作(对于同步软件已经不是很坏了)

但是,这是商业软件,并不便宜(30天试用期后,Mac为40美元)。

评论


对此一无所知,谢谢您的建议。即使我没有明确声明,120美元(每台设备一个许可证)对我来说也有点高,因为这里有免费的替代品。

–奥利
2014年2月7日在12:51



#6 楼

我已经使用Chronosync数年了,以使OS X计算机保持同步,并且总体而言,它运行良好。当前可用于OS X平台。完整的功能列表可以在这里找到。如果您从OS X机器上设置对Ubuntu的访问权限,则当然可以使用它来同步Ubuntu上的文件。

它提供的一些基本功能是手动或自动同步,过滤,特殊文件处理,文件删除同步以及许多其他功能。而且,单个许可证的价格令人惊讶地便宜到40美元。磁盘驱动器,没有理由您不能再使用此软件来同步数据,但是我希望至少与您共享此程序,以防它有助于您完成所需的工作。 >