增量文件复制工具和NIH

时间:2020-03-06 14:26:37  来源:igfitidea点击:

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

就像任何支持NIH思维方式的人一样,我编写了自己的实用程序来比较两个文件夹的内容,并让我标记要复制,删除,差异或者忽略的文件。我有许多该实用程序的版本可以追溯到DOS,OS / 2和Win32.

我每天都使用该实用程序,这让我感到困惑:别人使用什么?肯定有类似的程序可以执行此操作...我的实用程序没有diff屏幕,偶尔查看两个已更改文件之间的区别会很不错。

在文件夹之间进行比较和增量复制时,我们使用什么?

解决方案

rsync。每时每刻。

rsync的最大好处是,它可以用增加的CPU时间来交换传输带宽,因为当今的CPU速度非常快,甚至磁盘复制也相对较慢,这是一件好事。

robocopy。它在Vista中,并且也是Windows资源工具包的一部分。它具有一个奇怪的命令行界面,但是它非常强大并且对这种事情有好处。

尽管如此,我还是想知道源代码控制是否对我们来说是更好的选择。

SyncToy也擅长于此。

我将rsync用于某些工作,并统一用于其他工作。

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

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

NIH不一定是一件坏事。当应用程序具有一些非常个人的特性并且我们希望它对我们来说尽可能方便时,这可能会很好。

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

SyncBack(免费)或者SyncBackSE($$)是另一种可能的解决方案。 SyncBackSE是我付钱购买的少数程序之一。健康警告:仅赢。

恕我直言,NIH违反了懒惰和急躁,尽管它强烈支持Hubris。

我一直在使用rsync(从Linux到Linux /从WinXP到Linux),并且非常喜欢它。今天,我试图在Vista下启动并运行它,这是一个很大的挑战。我可以运行它,但是网络驱动器和本地化字符(即???)存在一些问题。

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

我也必须尝试robocopy。

非常感谢!

我们是否考虑过使用版本控制工具来完成此任务?它可以使我们保持同步,同时还可以记住项目的历史记录。

我今天尝试了Robocopy(包含在Vista中,可从XP下载),并且运行良好。要增量镜像使用的驱动器,请执行以下操作:robocopy源目标/ MIR

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