두 원격 서버 간의 파일 체크섬 비교

두 원격 서버 간의 파일 체크섬 비교

내 로컬 상자에는 "machineA"두 개의 폴더 "/primary""/secondary". 이 두 폴더에는 몇 가지 파일이 있습니다. 이제 원격 서버에 많은 파일이 포함된 폴더가 "machineB"있습니다 ."/bat/snap/"

의 모든 파일 "/primary""/secondary"폴더는 원격 서버의 이 디렉터리에 "machineA"있어야 합니다 . 이제 로컬 상자에 있는 모든 파일 및 폴더의 체크섬을 해당 디렉터리에 있는 원격 서버와 비교 해야 합니다. 체크섬에 불일치가 있는 경우 문제의 모든 파일을 보고하고 싶습니다."machineB""/bat/snap/""/primary""/secondary""machineA""/bat/snap/""machineA"

여기서 md5checksum을 사용해야 합니까?

고쳐 쓰다

이것은 내가 실행 중인 명령입니다 "machineA".

find /primary/ /secondary/ -type f | xargs md5sum | ssh machineB '(cd /bat/snap/ && md5sum -c)' | egrep -v 'OK$'

다음은 위 명령을 중지한 후 받은 오류입니다. 두 서버를 모두 확인했는데 이 파일이 존재하는 것을 볼 수 있는데 무엇이 잘못되었나요?

md5sum: /primary/abc_monthly_134_proc_7.data: No such file or directory
/primary/abc_monthly_134_proc_7.data: FAILED open or read

답변1

이를 md*sum위해 각종 문서가 작성됩니다.

머신 A에서:

find primary secondary -type f | xargs md5sum > checksum.md5

(파일을 컴퓨터 B에 복사)

기계 B:

md5sum -c checksum.md5

편집하다: 단일 명령으로 결합되었습니다.find primary secondary -type f | xargs md5sum | ssh machineB '(cd /location_on_B/ && md5sum -c)' | egrep -v 'OK$'

(또 다른 옵션은 Tell을 사용하여 rsync평가판 모드에서 실행하는 것 입니다 --checksum.)

관련 정보