如何区分两台Redhat Linux服务器?

除了已知的差异之外,我有两台服务器应具有相同的设置.

通过运行:

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已经具备了大部分功能,但可以用来提供差异列表吗?

解决方法

你是对的,rsync是完美的.使用–itemize-changes(aka -i).确保您可以在双方(或其他具有完全访问权限的用户)的root用户身份运行此命令:
rsync -ani --delete / root@remotehost:/

> -a用于存档,基本上使rsync完全重复(除了某些涉及链接的情况)
> -n用于干运行,意味着什么都不会实际改变(这个是重要的!:))
> -i用于逐项更改,并输出一个简单易懂的一次性格式,显示需要更新的每个文件(语法在详细帮助下的手册页中有详细解释)触发).
> –delete使rsync删除目标但不存在源的文件.

如果要排除某些路径,请使用–exclude / var之类的命令.排除模式是相对于源目录(在这种情况下是/,因此它们实际上是绝对的).

相关文章

Linux中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...