Questão Usando o comando 'diff' sobre o ssh


Se eu tiver uma pasta com vários arquivos no meu computador e uma cópia da mesma pasta em um servidor remoto, é possível executar o 'diff' através do ssh para que eu possa ver as diferenças entre a minha cópia e a do servidor remoto ? Idealmente, gostaria de ver se há arquivos adicionais / menos em qualquer cópia da pasta e, em seguida, verificar se os arquivos individuais têm alguma diferença.


3


origem




Respostas:


Para ver se há arquivos adicionais / menos em qualquer cópia da pasta

diff -y <(ssh user@remote_server 'ls -1aR /remote_folder/') <(ls -1aR /local_folder/)

3





diff só funciona com arquivos locais. Você pode usar scp ou rsync para copiar os arquivos para um diretório local e compará-lo com diff, ou você pode usar algo como sshfs para montar um diretório remoto para um local e compará-lo com o segundo.

Para um único arquivo, você pode usar ssh e diff:

ssh user@machine cat remote-file | diff - local.file

2



Não há ssh equivalente de diff? Isso funcionaria ... mas parece-me que outra pessoa teria desejado a mesma coisa, e espero ter feito isso. : P Obrigado, embora! - Kitchi


Uma alternativa para descobrir quais arquivos diferem é usar o rsync, conforme descrito em https://serverfault.com/a/16665/317052. Usar

rsync -anicu  . user@remote_host:directory/

0