在两台计算机之间同步Adobe Lightroom数据库的最佳方法是什么?


49

在两台计算机(台式机和笔记本电脑)之间同步Adobe Lightroom数据库的最佳方法是什么?

我希望能够在两台计算机上编辑照片,并且最好不要在每次同步时复制整个3+ GB数据库。


4
您是在问Lightroom还是Aperture?
FredrikMörk,2010年

我已经这样做了一段时间,没有下面列出的缺点。我将讨论这个工具,但首先要提一个简单的问题:您的LR 目录是 3GB(即.lrcat文件本身,是多少张照片?),或者您是在此估算值中添加了预览文件夹的大小,或更多目录,甚至您的照片?谢谢。
sebastien.b,2010年

@ sebastien.b 3GB大小适用于Lightroom数据文件夹中的所有内容,包括预览(但不包括我的照片)。我可以复制.lrcat文件吗?我认为有关已编辑图像的数据将位于.lrdata(预览)文件夹中。
dbkk 2010年

@dkk好,谢谢。是的,我为您找到了解决方案,从小文件到大文件,我已经使用了5年,自从开始使用LR以来,已经使用了2年。难以安装,但设置完成后轻而易举,我将尽快发布详细信息。不,编辑的图像不在预览文件夹中。
sebastien.b,2010年

好的,我会在那儿检查答案-在任何搜索中都找不到,谢谢。
eouw0o83hf 2012年

Answers:


25

多年来,我一直在同步范围高达60GB的集合以及上万个大小文件。自从我开始摄影以来,这包括我的LR目录和图片。不过,老实说,这不是很多人使用的工具,虽然设置并不简单,但可以解决您的问题。一旦启动并运行,它就很容易使用,它将迅速而轻松地执行其职责。作为软件工程师,这是我每天使用的三大软件之一,并且离不开它。

该工具是Unison File Synchronizer

统一

Unison是用于Unix和Windows的文件同步工具。它允许将文件和目录集合的两个副本存储在不同的主机(或同一主机上的不同磁盘)上,分别进行修改,然后通过将每个副本中的更改传播到另一个副本来使其更新。

  • 它是免费的,可以在Windows和Unix上运行,甚至可以跨平台使用。
  • 它可以处理对分布式目录结构的两个副本的更新。
  • 不冲突的更新将自动传播。
  • 检测到并显示有冲突的更新(有关以下内容的更多信息)。
  • Unison容忍失败。务必始终将副本及其私有结构保持在明智的状态。
  • 它可以在连接到互联网的任何一对机器之间工作。注意网络带宽。使用类似于rsync的压缩协议,可以优化从小更新到大文件的传输。

大文件

稍后这一点与您的问题有关。如果大文件已更新(例如,您的LR目录),则不会复制整个文件。相反,它将传输一个智能的压缩子集(增量),表示两个文件之间的差异。例如,如果我修改MP3上的艺术家名称或向JPEG文件中添加一些关键字,它将不会发送整首歌曲或照片,而只会发送一小部分。当然,您的LR目录中发生了较大的更改,但更改的幅度过大,不足以使它们重新发送整个文件。这是有道理的,因为您的目录是一个SQLite数据库(磁盘上的一个SQL数据库)。出于性能方面的考虑,数据库引擎的最大利益就是不要随机播放每一位。

重命名

Unison 重命名文件和目录没有问题。文件实际上不是由名称标识的,而是由唯一的签名标识的。这很方便。

与Microsoft Live Sync相比

与Microsoft Live Sync相似,Unison不会保留文件的在线副本(感谢上帝),这意味着两台计算机都需要连接到Internet。

与Microsoft Live Sync不同(据我了解),它确实显示潜在的冲突,并且其用户界面可让您决定哪个副本应“获胜”。也就是说,如果您在两侧都进行了更改,它将使您标记“左侧”是否应优先于“右侧”(请参见下面的屏幕截图),反之亦然。您可以按文件,按副本,在文件的子集上进行复制,等等。对于文本文件,您甚至可以让Unison启动工具,使您可以在内容级别手动解决冲突(例如,使用WinMerge )。

缩略图和预览

现在,缩略图和预览呢?难道不是它们同步。您不需要,我从来没有这样做,并且LR足够聪明,可以在缺少预览时重新生成预览。这对于我来说已经两年没有问题了。

当然,除了您的RAW和JPEG文件外,您还应该同步处理哪些数据以确保您可以同时使用LR?据我所知,有3个要素需要考虑:

  • LR目录文件(Lightroom 3 Catalog.lrcat),LR在其中存储元数据,关键字,等级,标签和开发设置。请记住,LR是非破坏性的,它不会触摸您的原始文件,而是将您对照片所做的每一个更改存储在其目录中(除非您指示LR将这些设置转储回XMP / DNG / PSD文件,但那是另一个故事,反正不是问题)。您的目录是要同步重要文件。
  • 预览目录(Lightroom 3 Catalog Previews.lrdata),LR在其中存储照片的中间表示形式,以便更快地查看(1:1,低分辨率,缩略图等)。难道不是这个文件夹同步。
  • 您的Adobe Camera RAW缓存(ACR缓存)。每次在Camera Raw中打开图像时,必须将图像的完整分辨率加载到Camera Raw中。可以想象,这可能需要大量处理器。Camera Raw缓存将缓存最近打开的图像,以便更快地重新打开它们。如果同时拥有LR和Photoshop,则实际上使用此缓存。难道不是这个文件夹要么同步,它的内容将被自动重新生成。

您可以从首选项中更改目录,预览和Camera RAW Cache的默认位置。这就是我将目录移动到特定用户目录(带有个人数据的HOME目录)的方式,这也是我同步的目录。您不必这样做,但这使我的生活更轻松。

安装

正如我前面提到的,安装Unison 非常棘手,请在线检查用户手册,然后对仍然无法解决的问题发表评论。它确实涉及在台计算机上运行SSH服务器(如果您在两台计算机之间进行同步),传统上是使用Cygwin或其一部分。这是棘手的部分,但是SSH是一个开放,可靠,安全的解决方案。我相信此设置比运行Microsoft Live Sync或Dropbox(本质上也都是客户端/服务器)更重要。

SSH服务器运行后,您已准备就绪。您只需要编写一个称为“配置文件”的小文本文件,即可告诉Unison哪些文件夹需要同步。我意识到它不是非常用户友好,但是它确实具有强大的语法,可让您使用正则表达式或简单模式忽略文件。例如,这是个人资料顶部的样子:

root = d:\users\barre
root = ssh://barre@foo.net/d:\mystuff

第一行指定本地副本的位置,第二行指定可以在本地的foo.net(虚拟)计算机上的mystuff目录中找到我的远程副本的位置。如果您留在本地网络中,则更简单。我使用Unison在3个不同站点的4台计算机之间进行同步。

ignore = Path {Pictures/Lightroom/Lightroom 3 Catalog Previews.lrdata}
ignore = Regex Pictures/Lightroom/.*\.lock
ignore = Regex Pictures/Lightroom/.*-journal

这3行指示Unison忽略我的LR缩略图/预览以及在Pictures / Lightroom子目录(相对于上面指定的根目录)中找到的任何临时锁定/新闻文件。

就是这样。

跑步小子

第一次运行Unison会花费很多时间,因为它会为其新管辖范围内的所有文件计算哈希签名。这是帮助快速计算差异的关键。下次运行它时,它的速度惊人的快。用户界面有点粗糙,因为Unison是用OCaml + GTK编写的奇异野兽。只需从列表中选择您的个人资料,Unison就会检查您的本地副本是否有更改。在同一时间,它会调用本身通过SSH对其他副本来计算远程变化。等待几秒钟,它将显示更改和潜在冲突的列表,以帮助您调和两者(如果需要)。如果没有任何要解决的问题,只需单击“开始”即可自动同步。

在下面的屏幕截图中,我正在将本地计算机(第一列)与名为KANEDA的远程计算机同步。介于两者之间的第二列是Unison认为应该做的事情。

替代文字

如您所知:

  • 我删除了本地计算机上的一个文件(第一个星期五…jpg),更改将从左向右传播(箭头),从而删除了远程文件。
  • 我同时更改了LR目录和遥控器上的DNG。箭头从右到左指向,即这些更改将传播到我的本地副本。
  • 我以无法合并的方式更改了两个副本上的.emacs.el文件。Unison在底部告诉我修改的时间,双方都在修改,文件大小等。中间的问号表示由我自己选择。选择了这条线,因此我可以按左箭头或右箭头键来确定哪一方应赢。我什至可以覆盖任何其他行。

这种情况对我来说已经不复存在了,有99%的时间我没有选择的余地,我只是快速回顾一下情况,按“ Go”,然后Unison同步了两个副本。

结论

我已经使用此工具很多年了,对此我发誓。我使用Unison同步和备份音乐,照片,文档和个人数据,这是无法手动高效完成的任务。它支持非常大的集合和成千上万的文件。它可以处理大文件的重命名和智能同步,并且可以快速工作。它从未损坏过我的一个文件。

这仍然是文件级同步工具。它不知道您目录的精妙之处,只有Lightroom知道。如果您在两侧都对目录进行了更改,则必须在两者之间做出选择。至少不会复制整个文件,并且用户界面使您可以轻松地告诉Unison哪个应该赢。正如有人在这篇文章中指出的那样,应该纪律处分这个问题。您的目录是一个复杂的文件。即使通用工具使用高级SQL命令来检查目录数据库并尝试与另一个数据库进行同步,我仍然不会在Lightroom上信任它。

祝好运。


1
这是一个了不起的答案。如果设置SSH对我来说并不那么困难,我可以尝试一下。
dpollitt 2011年

1
我使用Windows软件Allway Sync,它也是一个文件级同步工具,它会警告您,并允许您在发生冲突时“选择获胜者”。我不在Lightroom中使用它,但我认为它的工作原理非常相似。不利的一面是,如果您大量使用它,它不是免费的(同步原始文件可能会触发“沉重”警报)。allwaysync.com
cubeslayer 2012年

@ sebastien.b-当硬盘空间不足时,您该怎么办?大概您无法将您曾经获取的每个原始文件都保留在硬盘上。当您不再需要它们时,是否将它们移动到某个地方?
汤姆(Tom)

Mac版Unison可用吗?我拥有最新版本的OSX,并且希望能够在我的iMac和MacBook Air之间保持Lightroom数据库文件同步。谢谢!

@MarkSchwartz是的,我一直在使用它在PC上的Mac之间进行同步。
sebastien.b

7

今天,我对这个答案表示赞同,这通常提醒我去访问旧的答案或问题,看看它们是否经受了时间的考验。

这个既有也没有经受住这一点。

Lightroom现在(我不记得它何时引入)具有一项功能,该功能可以将您对照片所做的更改同步到单独的XMP文件中。

您可以通过以下方法启用此功能:

  • 编辑->目录设置
  • 第三个标签,名为元数据
  • 启用“自动将更改写入XMP”复选框

Lightroom中目录的元数据设置

现在,完成此操作后,将发生以下情况:

  1. 目录中所有现有的照片将:
    • 要么在磁盘上获得另一个.XMP文件
    • 或2,可以更改为在文件中包含元数据更改,这对于某些文件格式来说是可能的,我知道Adobe DNG是其中一种,也可能是JPG。
  2. 您在Lightroom中所做的任何将来更改都将保存在与第1点相同的位置。

现在,您可以使用下面提到的任何此类同步软件(包括Dropbox,Google Drive,Jotta cloud,OneDrive )同步包含照片和那些.XMP文件(或包含元数据的照片)的整个文件夹结构,但不能同步目录。

请注意,如果您在两台计算机之间进行切换并进行更改,则我对文件冲突的建议仍然有效,但是现在必须对同一张照片进行更改才能发生冲突,而冲突不再发生在目录级别。

与其同步目录,不如在要处理照片的每台计算机上设置一个单独的目录,将所有文件夹从其同步位置导入磁盘,而不移动它们。

然后,每当切换到另一台机器时,请执行以下操作以加快速度:

  1. 找到您的库文件夹,这些文件夹至少存在于我的安装中,该安装位于左侧“库”模块中名为“文件夹”的窗格下。
  2. 右键单击最上面的文件夹,然后选择“同步文件夹”
  3. 确保已选中“导入新照片”,“从目录中删除丢失的照片”,最重要的是,已选中“扫描元数据更改”
  4. 点击“同步”,让它完成工作

在Lightroom中同步文件夹对话框

这样做的好处是可以将Lightroom对照片所做的任何更改同步到此计算机上的目录中,包括:

  • 您在开发模块中所做的任何事情
  • 标签,关键词

可能有些部分未同步,例如堆栈配置等,但是大多数目录应该都可以同步。

至少对我来说,这也是一个非常有用的更改,可以对此进行介绍。

我有3台电脑:

  1. 功能强大的Windows台式计算机
  2. 强大的iMac
  3. 不太强大的MacBook Pro

MacBook Pro有一个很大的好处,就是与在家中台式计算机相比,与我在一起的频率更高。遗憾的是,它没有足够的内置存储空间来将我的所有照片保存在本地,但可以使用Dropbox进行救援。

我只能使用Dropbox的选择性同步功能在本地同步最近几个月或项目,然后再同步本地目录。这将从我的本地目录中删除我不再在本地拥有的照片,而是添加所有我刚刚同步到计算机的照片。

然后,我可以在MacBook上处理照片,并确信我所做的任何更改都将通过Dropbox同步回我的两台台式机,并准备好同步到各自的本地目录中。

这不仅使我可以跨机处理照片,而且还可以移动,这是一个很大的收获。

现在!如果您是来这里寻求有关如何进行此类同步的建议的,但是如果没有Lightroom,那么我的其余回答就是我能提供的最好的答案。


较旧的答案

如果我们从等式中删除Lightroom,我们可以将问题简化为:

  • 如何在多台(在本例中为2台)计算机之间同步对大文件的更改,而不必每次都复制整个文件

现在,假设您已受到100%的训练。您一次只能在一台计算机上对文件进行更改,并且允许同步软件运行并执行其工作,然后才能在其他任何计算机上更改文件。

警告,请注意以下内容,以了解更大的警告

在这种情况下,有许多软件程序可以执行您想要的操作,但是由于仅在其中一台计算机上运行的任何软件都必须读取其他任何一台计算机上的文件以找出更改的内容,因此这是唯一可行的解​​决方案是一种在两端都运行软件的软件,即 两台机器。

这样的软件包括:

  • 投递箱
  • Microsoft Live同步

还有很多其他的 基本上,您将软件安装在所有涉及的计算机上,设置同步,这通常意味着将其中一台计算机上的文件夹注册为“我要同步此文件夹”,然后访问所有其他计算机并映射已同步的文件夹(软件知道)到磁盘上的文件夹。在那之后,这都是自动的。一台计算机上的更改会传播到其他计算机。

Microsoft Live Sync不会保留文件的联机副本,这意味着同步仅在计算机处于联机状态并且可以互相通信时发生,而DropBox保留联机副本,以便您可以在一台计算机上进行更新,让DropBox同步并打开计算机关闭,然后再打开另一个以下载更改。

现在,这里的问题对所有文件级同步工具都成立,那就是,在某种程度上,您的纪律技巧动摇了,最终您在多台计算机上进行了更改。上述类型的软件无法确定如何合并这些文件。Microsoft Live Sync会将其标记为冲突,然后继续确保文件的所有唯一副本在所有计算机上都可用。从本质上讲,这意味着将其中一个重命名,然后将两者都下载到未安装的计算机上。

我不知道DropBox如何处理冲突,但是我可以告诉你它将无法合并。

因此,现在您有2个目录副本。

情况变得更糟。Lightroom目录还包含许多较小的文件,例如缩略图等,您可能最终得到的结果是,对多台计算机上的文件所做的更改将与其他计算机交叉同步,但最终与它们所属的目录不对应。

例:

  • 机器1上的目录+较小文件A,B和C已更改
  • 机器2上的目录+较小文件D,E和F已更改

同步后:

  • 目录文件冲突
  • A,B和C已复制到机器2,但不再与目录相对应(请记住,目录更改冲突)
  • D,E和F复制到机器1,并且确实与目录相对应(至少其中之一)

因此,让我给您一个我认为是不错的建议:不要为此使用文件级同步工具。它在一开始可能会起作用,但是在某些时候,您会从备份中恢复,并损失了数小时(或数天)的时间损失。

另一方面,如果您可以找到真正的Lightroom目录同步工具(我已经看过但还没有找到),那应该可以。lightroom目录是(或至少在较早版本中是)SQLite数据库文件,因此复制对内容的单个更改也许是可行的,但是很困难,并且需要能够理解数据库类型以及最有可能是内容的精确工具。

您可以执行其他操作的其他方式:

  • 使用RDP或类似工具在一台计算机上工作,但将所有内容保持在1个
  • ...建议?

3
非常好点。我经常使用文件级同步工具,但在这种情况下有一种模糊的感觉。这就是为什么我专门询问有关Lightroom的原因。
dbkk 2010年

5

您可以尝试其他策略:我使用小型大容量(1TB)USB3驱动器,然后随身携带。这些现在比钱包还小,并且速度很快,达到7200RPM和USB3。我使用Cobian备份免费软件来确保内容始终备份在我的主工作站上,然后每次将其插入后再使用。您可以进一步进行备份并使用在线备份服务。就个人而言,我使用Egnyte进行工作(1TB每年50美元),而我的GIS数据也使用类似的设置。(Egnyte是具有备份功能的文件共享服务)第一次运行需要很长时间才能运行备份,但是此后运行起来非常快捷(无缝)。


这实际上是一个非常好的解决方案,并且比同步容易得多。不知道为什么我没想到-我可能最终会把它作为一种选择...
eouw0o83hf 2012年

这个对我有用。我上班时要花很多时间,所以我需要随身携带大量数据。严格的备份策略对于这种方法至关重要。
Jakub Sisak GeoGraphics'2

2

我目前正在开发一种工具,可以在计算机之间同步目录,尤其是当一台是PC而另一台是Mac时。当前,它着重于最困难的部分:使一台计算机上创建/修改的目录在另一台计算机上可用,尽管布局有所不同。尽管工作正在进行中,但成功使用了大约六个月。所以您可能想看看LRSync


0

我不确定您是在谈论Adobe Lightroom还是Apple Aperture。假设您在谈论Lightroom,因为您在问题的标题和标签中使用了Lightroom,所以建议您使用Microsoft Live Sync。

实时同步信息

Live Sync是一个系统,允许您通过Microsoft“云”网络在计算机之间共享文件夹。同步是自动的,轻量级的,并且允许几乎无限的文件。Microsoft Live Wave 4当前的“ beta”版本支持以下功能:

  • 多达200个同步文件夹
  • 每个文件夹最多100,000个文件
  • 每个文件最大40Gb

总共有800,000,000 Gb或800 PB的数据。同步时,Live Sync仅同步共享文件夹之间的差异。如果您添加了100张照片并另外编辑了50张,它将仅同步那些照片和相关的lightroom数据以及lighroom收藏数据库。仅传输文件的修改部分以及补丁详细信息,以确保同步尽可能快。

可能的缺点

Live Sync可能不是适合该工作的工具。如果您需要非常快地同步大量数据(许多演出),Live Sync可能会太慢。定期同步大量新数据将使Live Sync必须使用的分配带宽超负荷,因此同步可能会花费很长时间。如果您每天只需要在这里和那里同步几百个兆,那么它将很好地为您服务。如果您每天需要同步许多演出,则可能效果不佳,无法使用。

便携式驱动器解决方案

如果您确实需要每天同步多个演出,那么比Live Sync更好的解决方案是便携式外部硬盘驱动器。为了使操作更快,我将尝试获得支持E-SATA的便携式驱动器以实现最大速度。只需将您的lightroom收藏品和摄影作品移到便携式驱动器上,然后将台式机和笔记本电脑设置为将便携式驱动器用作收藏存储区域。该解决方案的缺点是您需要能够在两个系统之间物理移动硬盘,这可能不是理想的选择。像Hitachi或Seagate Barracuda这样的高速,高密度驱动器将使事情保持快速发展。


FYI Live同步现在Live Mesh和具有完全不同的统计数据例如25GB总,每个文件50MB,等等
glenneroo

尽管名称有所变化,但统计信息仍然几乎相同(甚至更多)。如果您单击Windows Live Mesh 2011下载页面上的“在计算机之间同步文件夹”,它将显示200个文件夹,每个文件夹100k个文件,每个文件50Gb:explorer.live.com/windows-live-mesh-sync-p2p-using
jrista

该链接没有说什么,我在他们的网站上找不到任何信息。但是我相信您……尽管我可以发誓我有时会读微软网页上的其他统计信息。耸耸肩
glenneroo 2011年

通过该链接(似乎仍然对我有用):“使用Windows Live Mesh,您最多可以同步200个文件夹,每个文件夹最大50 GB,最多包含100,000个文件。”
jrista

没关系,我是个白痴,现在可以删除整个对话了;)
glenneroo 2011年

0

如果您要整合笔记本电脑中的所有内容,则始终可以从笔记本电脑“导出为目录”,然后再将其“从目录导入”到工作站。

这两个选项都在文件菜单下。


3
这会保留您在照片上的编辑历史记录吗?我不记得没有选择此选项的确切原因,但我可以肯定地说,由于某种原因或其他原因,它不会对我有用。
eouw0o83hf 2012年

这是一个好点,我不知道该怎么做,但是由于LR是非破坏性的编辑器,因此无论如何都必须将更改堆栈存储在内部,并且我似乎很傻,因为更改历史记录并未公开。我可能是错的。
guioconnor 2012年

0

尽管这里的其他答案非常好,但它们都有同步问题(将详细解决)。

另一种方法(使用起来非常简单,但设置起来有些棘手)是购买NAS(网络附加存储),它实际上是一个小型的预先构建和配置的服务器,您可以将该服务器附加到主网关/路由器上-通常使用一个以太网电缆。

然后,您可以将其作为本地系统上的网络驱动器进行访问,并且(通常)还可以获得它的静态IP地址和URL(通常使用dyndns.com之类的服务)。

一旦您或您的本地怪胎完成此设置,就可以在其中放置LightRoom和其他文件。然后,您可以从家庭系统,笔记本电脑或Internet上的任何计算机(具有加密,密码安全性等)访问此副本。

这样,您只有一组数据,因此根本没有同步问题(只要两个人不尝试同时更新它)。您可以从任何地方安全地访问它。

由于它没有存储在您正在使用的计算机上,因此您有更多选择可以运行数据备份,而无需加载正在使用的计算机。实际上,大多数支持多个磁盘驱动器的NAS允许您将它们设置为RAID 1、5或10甚至(更简单),以便仅将两个(或多个)驱动器用作您的镜像。数据,这样您最终会或多或少地自动获得不同驱动器上的多个数据副本。您可以将其视为自己的个人云存储,其他任何人都无法访问(除非您明确将其提供给他们)。

这需要一些专业知识来进行设置,但是一旦完成,它就非常易于使用和灵活使用-用于需要从多台计算机访问的任何数据,甚至仅是要备份但仍然可以访问的数据至。


Lightroom不允许您将目录数据存储在网络驱动器上,因此照片将位于同一位置,但是您仍将拥有两个单独的库。
布伦丹·阿贝尔

@BrendanAbel-布默。有没有办法让Lightroom认为它是本地驱动器?我对Windows的工作不多,但是对于Linux,有几种方法(例如绑定安装)可以使远程驱动器显示为本地驱动器。Windows可能有类似的东西。

0

我使用Resilio Sync(以前的BTSync):https ://getsync.com

它是在后台运行并在两台运行的计算机之间同步文件的工具。像Dropbox一样,但没有中央服务器-因此它是免费的,自动的(并且通过本地网络的传输速度非常快),但是您必须确保:

  • 两台计算机都在运行
  • 除非将已保存目录中的更改同步到第二台计算机上,否则您不要在第二台计算机上打开Lightroom
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.