2011-12-21 172 views

回答

16

您可以通过从其他服务器复制文件,然后使用diff:你可以做这样的事情。

或者ssh到远程主机和diff使用一个命令是这样的:

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

“ - ”与STDIN不同。使用scp

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

如果您比较多个文件,然后查找rsyncrdiff,这节省您复制所有文件的带宽。

顺便说一句,如果你的文件非常大,那么请用这些信息更新你的问题。

0

如果您正在对AWS实例进行故障排除,那么停止inatanceA可能会有意义,然后将其驱动器附加到您想与之比较的instanceB。

1

我知道这是一个迟到的答案,但我字面上的问题,没有本地文件和两个远程文件
bash(而不是只)有可能使用进程替换[,2]<(...)

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

方法<(list)异步运行,并且它的输入或输出如一个文件名。

注意

  • 当然,如果你只需要一个远程文件,你可以把本地文件,而不是<(...)之一。
  • 如果这两个文件是在同一台服务器上,你可以使用一个简单的

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