rsync 파일 복제 무시가 예상대로 작동하지 않습니다.

rsync 파일 복제 무시가 예상대로 작동하지 않습니다.

rsync 작업과 혼동됩니다. 내가 한 일과 기대했던 일은 다음과 같습니다.

'sbck'와 'dbck'라는 두 개의 폴더를 만들었습니다.

시나리오 1:

a.txt이라는 파일 을 만들고 cp -rp a.txt aa.txt. 두 파일을 모두 sbck폴더에 넣었습니다. 다음으로 나는 그랬다 rsync -rvch sbck/ dbck/. 이로 인해 두 파일이 모두 dbck로 이동되었습니다.

질문: a.txt와 aa.txt가 모두 동일한데 rsync가 이 복사본을 허용하는 이유는 무엇입니까? 둘 중 하나만 있으면 안되는 걸까요?

시나리오 2:

a.txt이라는 파일 을 만들고 cp -rp a.txt aa.txt. 두 파일을 모두 sbck폴더에 넣었습니다. 다음으로 나는 cp -rp sbck/a.txt dbck/. 나중에 나는 그랬다 rsync -rvch sbck/ dbck/. 이로 인해 aa.txtdbck가 이동되었습니다.

질문: a.txt와 aa.txt가 모두 동일하므로 이미 a.txt를 dbck로 옮겼습니다. rsync가 aa.txt를 dbck로 복사하는 것을 허용하는 이유는 무엇입니까? 이 시나리오에서 -c가 정확히 어떻게 나에게 도움이 됩니까?

답변1

나는 당신이 무엇을 -c하는지 오해하고 있다고 생각합니다. rsync옵션 유무에 관계없이 파일 중복 제거를 수행하지 않습니다 -c. 해야 할 일은 대상에서 파일을 업데이트해야 하는지 여부를 결정하는 -c방법을 변경하는 것뿐입니다 .rsync

가정 sbck/a.txt하고 dbck/a.txt, 그리고 당신은 실행합니다 rsync -rvh sbck/ dbck/(참고: -c옵션 없음). rsync두 파일의 크기와 수정 시간을 비교하고 일치하면 파일의 내용도 일치한다고 가정 sbck/a.txt하고 dbck/a.txt.

rsync -rvch sbck/ dbck/이제 ( 이번에는) 달리고 있다고 가정해 보겠습니다 -c. 이번에는 및 rsync의 체크섬을 계산 하고 이를 사용하여(크기 및 수정 시간 대신) 파일이 동일한지 확인하고 따라서 의 새 내용을 에 복사할 필요가 없는지 확인합니다 . 소스 또는 대상 트리에 있는 다른 파일의 체크섬과 비교하지 않습니다 .sbck/a.txtdbck/a.txtsbck/a.txtdbck/a.txtsbck/a.txt

관련 정보