2011-12-21 39 views

Respuesta

16

puede copiar el archivo a través del otro servidor utilizando scp y luego usar diff.

O ssh al host remoto y diff utilizando un único comando como este:

ssh [email protected] "cat /path/to/remote/file" | diff - /path/to/local/file 
4

Las diferencias "-" contra STDIN. Se puede hacer algo como esto:

ssh server 'cat file_to_diff' | diff -u localfile - 
8

Si su comparación de varios archivos, a continuación, mirar hacia arriba y rsyncrdiff, que puede guardar el ancho de banda de copiar todos los archivos.

Por cierto, si sus archivos son muy grandes, actualice su pregunta con esa información.

0

Si está solucionando una instancia de AWS, puede que tenga sentido detener inatanceA y luego conectar su unidad a la instancia B con la que desea comparar.

1

Sé que es una respuesta tardía, pero tomo la pregunta literalmente, no hay archivo local y dos archivos remotos.
En bash (y no sólo) es posible utilizar el proceso de sustitución[, 2]<(...):

diff <(ssh Server1 'cat /path/to/file1') <(ssh Server2 'cat /path/to/file2') 

El proceso de <(list) se ejecuta de forma asincrónica, y su entrada o salida aparece como un nombre de archivo

Nota

  • Por supuesto, si sólo se necesita un archivo remoto se puede poner el archivo local uno de los <(...).
  • Si ambos archivos están en el mismo servidor puede utilizar un simple

    ssh Server1 'diff /path/to/file1 /path/to/file2' 
    
Cuestiones relacionadas