ssh에 대한 차이점은 무엇입니까? ssh 인 경우 여러 시스템에서 파일

사용 가능한 유일한 연결이 ssh 인 경우 여러 시스템에서 파일 / 폴더를 어떻게 비교합니까?



답변

Bash의 프로세스 대체로 수행 할 수 있습니다 .

 diff foo <(ssh myServer 'cat foo')

또는 둘 다 원격 서버에있는 경우 :

diff <(ssh myServer1 'cat foo') <(ssh myServer2 'cat foo')

답변

마지막으로 훌륭한 해결책을 찾았습니다 : vimdiff

vimdiff /path/to/file scp://remotehost//path/to/file

http://linux.spiney.org/remote_diff_with_vim_and_ssh 덕분에 http://www.vim.org/scripts/script.php?script_id=1075
참조하십시오 .


답변

실제 파일의 차이가 아닌 다른 파일을보고 싶다면 다음을 사용할 수 있습니다 rsync --dry-run


답변

여기에 또 다른 빠르고 더러운 명령 행 레시피가 있습니다. 선택한 답변과 달리 makefile 내에서 작동합니다.

ssh [login]@[host] "cat [remote file]" | diff - "[local file]"

답변

scp를 사용하여 파일을 일반 컴퓨터로 가져 와서 다른 곳으로 옮깁니 까?

또는 파일 다른지 여부를 알고 싶다면 각 시스템에서 md5sum으로 해시하십시오.

SSHFS 와 같은 것을 살펴볼 수도 있지만 diff와 같은 알고리즘이 그 기능을 얼마나 잘 수행하는지 모르겠습니다.


답변

한 가지 방법은 시스템에서 가능한 경우 sshfs로 원격 파일 시스템을 마운트하는 것 입니다.


답변

다른 답변rsync 에서 간략히 제안한대로 드라이 런 모드에서 사용할 수 있습니다 . 다른 파일을 나열합니다.

이를 위해 rvnc옵션 ( r= recursive, v= verbose, n= dry-run, c= checksum)을 사용하십시오. 함께 rsync풀 모드 (에 rsync [OPTION...] [USER@]HOST:SRC... [DEST]), 예이다 :

rsync -rvnc root@182.18.158.207:/var/www/html/dev/ .

기억 이 로컬 또는 원격 파일이 최신 여부에 아무런 정보를 제공하지 않습니다. 그들이 다른 경우에만.