compara a soma de verificação dos arquivos entre dois servidores remotos

1

Na minha caixa local "machineA" , tenho duas pastas "/primary" e "/secondary" . Essas duas pastas possuem alguns arquivos. Agora no servidor remoto "machineB" eu tenho uma pasta "/bat/snap/" que contém muitos arquivos.

Todos os arquivos nas pastas "/primary" e "/secondary" em "machineA" devem estar lá em "machineB" servidor remoto neste diretório "/bat/snap/" . Agora preciso comparar a soma de verificação de todos os arquivos na pasta "/primary" e "/secondary" na caixa local "machineA" com o servidor remoto neste diretório "/bat/snap/" . Se houver alguma incompatibilidade na soma de verificação, desejo informar todos os arquivos com problema em "machineA"

Eu preciso usar o md5checksum aqui?

Atualizar

Este é o comando que estou executando em "machineA" :

find /primary/ /secondary/ -type f | xargs md5sum | ssh machineB '(cd /bat/snap/ && md5sum -c)' | egrep -v 'OK$'

Abaixo está o erro que estou recebendo e depois disso parei o comando acima. Eu verifiquei os dois servidores e posso ver que este arquivo está presente, então o que há de errado?

md5sum: /primary/abc_monthly_134_proc_7.data: No such file or directory
/primary/abc_monthly_134_proc_7.data: FAILED open or read
    
por user1950349 19.04.2018 / 23:20

1 resposta

2

Isto é o que os vários arquivos md*sum são escritos para.

Na máquina A:

find primary secondary -type f | xargs md5sum > checksum.md5

(copia o arquivo para o computador B)

Máquina B:

md5sum -c checksum.md5

Editar : Combinado em um único comando: find primary secondary -type f | xargs md5sum | ssh machineB '(cd /location_on_B/ && md5sum -c)' | egrep -v 'OK$'

(Outra opção é informar rsync para executar no modo dry-run com --checksum .)

    
por 20.04.2018 / 01:01