增量文件复制工具和NIH

时间:2008-09-19 15:48:54

标签: diff

多年来,我最重要的工具之一是增量复制实用程序,它比较两个目录的内容,并显示哪些文件更新/更旧/添加/删除。每天我发现自己在我的两台桌面计算机和服务器之间复制源代码文件夹,这样的实用程序对于避免使用旧文件覆盖较新的文件以及仅通过复制更改的文件来节省时间至关重要。此外,该实用程序允许我在源文件夹中查看我不一定要复制的新文件(如临时文件),而我可以删除。

与任何订阅NIH思维方式的人一样,我编写了自己的实用程序来比较两个文件夹的内容,让我标记要复制,删除,区分或忽略的文件。我有很多版本的这个实用程序可以回到DOS,OS / 2和Win32。

我每天都使用这个实用程序,这让我感到疑惑:其他人使用了什么?当然有类似的程序可以做到这一点...我的实用程序没有差异屏幕,有时候很高兴看到两个更改文件之间有什么区别。

您在文件夹之间进行比较和递增复制时使用了什么?

10 个答案:

答案 0 :(得分:6)

rsync。一直以来。

rsync的最大好处是它可以增加CPU时间以减少传输带宽,因为现在CPU速度非常快,甚至磁盘复制相对较慢,这是一件好事。

答案 1 :(得分:3)

我将rsync用于某些工作,将unison用于其他工作。

对于您的情况,我强烈建议您使用某些版本控制解决方案,例如Subversion

NIH?虽然我多年来编写了大量工具,但我总是在编写自己的工具之前寻找现有工具。它可以节省时间,并且可能比我使用的解决方案更好。至少,它会给我一些“如何不做”的例子。

答案 2 :(得分:1)

SyncToy is也擅长这个东西。

答案 3 :(得分:1)

SyncBack (free) or SyncBackSE ($$)是另一种可能的解决方案。 SyncBackSE是我为支付的少数几个程序之一。健康警告:仅获胜。

恕我直言,美国国立卫生研究院违反懒惰急躁,但强烈支持 Hubris

答案 4 :(得分:1)

我今天尝试了Robocopy(包含在Vista中,可供XP下载)并且运行正常。要对我使用的驱动器进行增量镜像:robocopy source destination /MIR

还有一个可用的GUI:http://technet.microsoft.com/en-us/magazine/cc160891.aspx

答案 5 :(得分:0)

ROBOCOPY。它位于Vista中,也是Windows Resource Kit的一部分。它有一个奇怪的命令行界面,但它非常强大&对这种事情有好处。

尽管如此,我发现自己想知道源控制是否对你来说是更好的选择。

答案 6 :(得分:0)

美国国立卫生研究院不一定是坏事。当应用程序具有一些非常个性化的特性并且您希望它尽可能方便时,可能会很好,这样可以克服一般性。

几年前,我还为此目的推出了自己的实用程序(Perl脚本),我正在使用它,在家中和工作中进行备份。它运行起来很简单,因为它完全符合我的需要而且只是那样,而且很容易调整,因为它是用灵活的脚本语言编写的。

答案 7 :(得分:0)

我一直在使用rsync(Linux到Linux / WinXP到Linux),并且喜欢它。今天我尝试在Vista下运行并运行,这是一个非常大的挑战。我让它运行但是在网络驱动器和本地化字符(即åäö)方面存在一些问题。

SyncToy看起来很可爱!我注意到它将数据文件放在同步文件夹中。任何人都知道是否可以在没有数据文件的情况下使用它/将数据文件保存到另一个文件夹?

我也必须尝试使用​​robocopy。

非常感谢!

答案 8 :(得分:0)

您是否考虑过使用version control工具来完成此任务?它将允许您保持同步,同时还记住项目的历史记录。

答案 9 :(得分:0)

在这里尝试一些好工具。 Rsync是Linux上权限和增量的终极,但是在Windows上你通常使用它与posix,所以acl权限并不完美。

制作增量副本的人也从头开始制作了一个基于rysnc算法的纯Windows版本: http://web.synametrics.com/Syncrify.htm

我还没有尝试过,但希望它会通过rsync的惊人增量产品为Windows带来良好的权限。