我有两台服务器,除了已知的差异外,它们应该具有相同的设置。
通过运行:
find / \( -path /proc -o -path /sys -o -path /dev \) -prune -o -print | sort > allfiles.txt
我可以找到一台服务器上所有文件的列表,并将其与另一台服务器上的文件列表进行比较。这将向我显示驻留在服务器上的文件名的差异。
我真正想做的是在两个服务器上的所有文件上运行校验和,并将它们进行比较以找到内容不同的地方。例如
find / \( -path /proc -o -path /sys -o -path /dev \) -prune -o -print | xargs /usr/bin/sha1sum
这是明智的方式吗?我以为rysnc已经具有大多数此功能,但是可以用来提供差异列表吗?
-print0
代替-print
和xargs -0
代替xargs
。您将避免由“奇数”文件名引起的任何问题。