Eu tenho dois diretórios - um do backup anterior e o segundo do backup mais recente. Como faço para comparar quais alterações foram feitas nos arquivos no diretório do backup mais recente no Linux? Além disso, como exibo alterações em, por exemplo, arquivos de texto e php - estou pensando em algo como o histórico de revisões na wikipedia, onde você vê a versão antiga em um lado da tela e a versão mais recente em outro e as alterações são destacadas. Como faço para conseguir algo assim?
editar: Como também comparo o diretório remoto com o local?
sshfs
para criar um diretório de rede temporário ad-hoc, em vez de usar o NFS.Assumindo:
www1
comparando com controle remotowww2
www1
para o remotowww2
www1
e remotowww2
fonte
Você realmente deseja combinar o poder de
rsync
reduzir o consumo de largura de banda com o poder dediff
fornecer flexibilidade e flexibilidade.Então, algo como isto:
Eu acho que você poderia ajustar um pouco isso se estivesse fazendo isso com frequência, em
rsync
vez de usarcp
na primeira linha - obviamente, na última linha, você tem todo o poder dediff
formatá-lo como quiser. Provavelmente com y no caso dos OPsA desvantagem dessa abordagem é que você acaba usando o dobro do espaço local, mas com menos de US $ 1 / gig, quem se importa?
fonte
cp --reflink=auto --sparse=always
para não usar espaço para a cópia, dependendo do FS subjacente.Faça
diff old_dir new_dir > diff.txt
diferenças lado a lado no mesmo servidor.Para arquivos remotos:
Por exemplo: ABC é um servidor existente e XYZ é o servidor remoto e o nome do diretório é 123.
Etapa 1: renomeie o diretório existente 123 no ABC Server como 123_ABC.
Etapa 2: Crie um novo diretório no servidor ABC:
Etapa 3: Copie todos os arquivos do diretório 123 no servidor XYZ para o diretório 123_XYZ no servidor ABC:
Isso copiará todos os arquivos do diretório em seu servidor XYZ para o diretório / 123_XYZ do servidor ABC.
Etapa: 4: Faça a diferença entre os dois diretórios:
Agora vá para o servidor ABC e execute diff entre 123_ABC e 123_XYZ
O comando acima salvará os resultados do diff em diff.txt no mesmo caminho.
Você pode comparar as diferenças então.
Obrigado,
Mehul
fonte
O AIDE ( Advanced Intrusion Detection Environment) do AIDE é um verificador de integridade de arquivos para sistemas operacionais UNIX. Seu objetivo é fornecer relatórios sobre a integridade dos dados nos sistemas de arquivos suportados. Ao executar o AIDE várias vezes no host de destino, você pode determinar quais arquivos estão sendo alterados. Ao executar o AIDE várias vezes em hosts diferentes, você pode determinar quais arquivos e permissões são diferentes. Em seguida, use uma ferramenta gui diff nos arquivos "diferentes" relatados.
Ou use uma ferramenta gui diff como meld, guiffy, kdiff3, diff, vimdiff, gvimdiff, Emacs, Kompare, Diffuse, Easydiff, TkDiff ou xxdiff. A maioria fará diferenças de diretório, além de diferenças de arquivo. Você precisará montar a unidade remota usando NFS, SMBFS ou SSHFS, como já mencionado.
fonte
Ou você pode usar dois arquivos com a lista de arquivos disponíveis. E então compare esses dois arquivos. Por exemplo:
Faça o download de um dos arquivos.
para FILE.TXT
Use diff (
diff -y remote-files local-files > diff-files
) para compará-los lado a lado. Abra os arquivos diff e verifique. Cada linha com> significa um arquivo diferente.fonte