我有两台服务器,如何找到不同的文件?

我有两台服务器,如何找到不同的文件?

我有两台服务器,一台生产服务器和一台生产服务器的克隆映像。克隆映像中存在一些差异,导致其无法正常工作。我想要一份差异列表。

这些服务器位于不同的网络上,因此我无法轻松比较它们。我需要的是可以在生产服务器和克隆服务器上创建校验和数据库并进行比较的东西。

有没有可以做到这一点的方法?或者编写脚本来做到这一点是否更容易?

答案1

在每个服务器上以 root 身份执行下列操作:

find / -type f -exec md5sum {} \; >server-foo.com-files.txt

然后将这些文件复制到你的工作站或者其他地方

diff -U0 server-foo.com-files.txt otherserver-foo.com-files.txt

这将向您展示 MD5 总和之间的差异。

答案2

我将使用 rsync (如果您告诉它,它也会更新文件):

 [root@local ~]# rsync -avn user@remote:/somedir /somedir

答案3

我们有一个工具可以在多个服务器之间运行差异算法。它还可以安排每天或每小时进行差异计算,以观察意外变化。它目前处于免费测试阶段,http://metaforsoftware.com,希望可以帮到你。(坦白说:我是联合创始人)

答案4

您可以用来diff比较文件(您需要编写一个简单的脚本来检查您想要检查的某些目录中的所有文件并将输出写入日志文件)。

您还可以使用 md5sum 计算每个文件的 md5,然后找到不同的文件并对它们使用 diff 找出差异。

相关内容