Eu tenho dois servidores, como posso encontrar os arquivos que são diferentes?

3

Eu tenho dois servidores, um servidor de produção e uma imagem clonada do servidor de produção. Há alguma diferença na imagem clonada que a impede de funcionar. Eu gostaria de ter uma lista das diferenças.

Os servidores estão em redes diferentes, então não posso compará-los facilmente. O que eu preciso é de algo que crie um banco de dados das somas de verificação no servidor de produção e clone do servidor e compare-as.

Já existe algo que pode fazer isso? Ou é mais fácil escrever um script para fazer isso?

    
por Stuart Woodward 29.05.2012 / 10:54

4 respostas

7

Em cada servidor como root:

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

Copie esses arquivos para sua estação de trabalho ou o que for e

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

Isso mostrará as diferenças entre as somas MD5.

    
por 29.05.2012 / 10:59
6

Eu usaria o rsync (que também atualizará os arquivos se você informar):

 [root@local ~]# rsync -avn user@remote:/somedir /somedir
    
por 29.05.2012 / 12:39
1

Temos uma ferramenta que executa algoritmos de diff entre vários servidores. Ele também pode ser programado para fazer comparações diárias ou de hora em hora, como uma forma de observar alterações inesperadas. Está no beta gratuito agora mesmo, link , espero que ele possa ajudar você. (Divulgação completa: sou co-fundador)

    
por 20.05.2013 / 07:41
0

Você pode usar diff para comparar arquivos (você precisará escrever um scipt simples que verificará todos os arquivos em alguns diretórios que você deseja verificar e gravar a saída no arquivo de log).

Além disso, você pode usar md5sum para calcular md5s para cada arquivo e, em seguida, localizar arquivos que difiram e usar diff para descobrir as diferenças.

    
por 29.05.2012 / 11:02

Tags