自动对两个目录进行双向同步


17

我想在Directory A和之间进行双向自动同步Directory B。这意味着,只要Directory A更改子目录或其子目录中的一个文件,就立即应用该更改Directory B,并且只要Directory B更改子目录或其子目录中的一个文件,就立即将更改应用到Directory A。因此,这两个目录将完全相同,包括文档属性。我该如何实现?

我正在使用Ubuntu 16.10。

符号链接不是一种选择。


@ dadexix86如果变化做出Directory A适用于Directory B,这修改了文件Directory B或创建一个新的。但是,Directory A由于两个目录已经相同,因此无法应用回此更改。您不能修改文件而不修改文件。
Georgelemental '16

1
如果这是出于备份原因,则在执行此操作时要格外小心(也许是cron + rsync?),因为如果不小心删除了一个目录中的文件,则该文件将从另一个目录中删除-因此,您也丢失了备份。
卡尔·H

mv B B.old && ln-s A B=)。如果您希望A到== B,只需将A链接到B。否则请使用rsync从A到B或最好是某种版本控制。


1
@CarlH同步永远都不是备份;-)
Rinzwind,

Answers:


10

统一

Unison是基于GUI和终端的GUI工具,它允许文件和目录在不同的本地目录和驱动器之间或在网络上(可以在不同的操作系统上)相互保持同步。该应用程序可用于Unix操作系统(Linux和Mac OS X)和Windows。可以在不同位置进行更改,Unison将使用正确版本的文件和文件夹更新机器,并根据需要复制,删除,重命名或删除文件和目录。

Unison同步应用程序可能是Ubuntu / Debian社区最常使用和信任的应用程序。它可在软件中心和程序包管理器中获得。它具有命令行和图形用户界面(GUI)(GTK)。

Unison主页

Ubuntu帮助社区Wiki-Unison

Ubuntu手册-Unison

可以在Rmano答案中找到一个简短的使用示例,它很接近您的要求(以下屏幕截图)。

在此处输入图片说明

FreeFileSync

FreeFileSync是免费的数据备份软件,可帮助您同步文件和文件夹。它旨在节省您的设置时间和运行数据备份的时间,同时在整个过程中具有良好的视觉反馈。FreeFileSync是开放源代码软件,可用于Windows,Linux和macOS。

我从未尝试过,但似乎值得一试。它具有默认的GUI,并且正在积极开发中。

FreeFileSync主页

在此处输入图片说明

Synkron

Synkron是一款可帮助您始终保持文件和文件夹更新的应用程序。您可以轻松地同步文档,音乐或图片,以随时随地获取其最新版本。Synkron提供了易于使用的界面,并具有许多功能。而且,它是免费的,开源的和跨平台的。

Synkron主页

在此处输入图片说明


1
统一在ubuntu存储库中可用。apt-get install unison-gtk
phil294

3

很长时间以来,我使用rsync同步笔记本电脑(2)和第三台计算机,然后尝试进行同步,但是今天早晨,一个著名的搜索引擎为我提供了这个项目:

镜子

您还将发现不同解决方案的比较。

他反对rsync的主要观点是:不是实时的,也不是正式的两种方式。

ps:我正在通过零级使用它,因此我的机器始终能够一起通信。


1

我会推荐该synkron工具。这是可用于linux(和其他OS)的开源应用程序。该文件的最新副本将根据时间戳在文件夹中进行更新。同步频率由用户定义。

要安装,您必须构建它,它需要Qt 4.3或最新版本。

检查sourceforge页面(在sourceforge上synkron)以下载和安装详细信息。

rsync+cron与其他简单方法相比的优势:

  • 创建一个临时备份,该备份将保存一定的时间。
  • 选择不传播删除。
  • 多个文件夹可以链接为主控或从属主控配置。

项目页面-Synkron页面 /文档 -Synkron文档


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.