
이 명령을 실행하여 두 폴더의 동일성을 확인하고 모든 차이점을 로그 파일에 기록합니다.
rsync -av --delete --checksum --dry-run --stats --itemize-changes --out-format='%t %i %f ' SOURCE DESTINATION | tee log.txt
비교하는 파일 간에 차이가 없으면 rsync는 작업이 끝날 때까지 다음을 제외하고는 아무것도 언급하지 않습니다.
증분 파일 목록 보내기
rsync가 어디에 있는지에 대한 정보를 얻는 것이 좋을 것입니다. 특히 많은 파일을 비교하는 경우. rsync가 모든 검사를 터미널에 인쇄하고 로그 파일에 차이점만 남겨 두는 것이 가능합니까?
PS: --info=progress2
도움이 되지 않았습니다.
답변1
[체크섬이 계산되는 동안 rsync가 체크섬을 계산하는 파일 목록을 원한다는 것을 알았습니다. 제가 읽어본 바로는 그런 기능은 없는 것 같습니다. 아래에서는 rsync 보고서가 내가 이해하는 대로 진행 상황을 보고하는 방식과 관련하여 작동하는 방식에 대해 좀 더 일반적인 정보를 제공합니다.]
전송할 파일이 있는 경우 스위치 --info=progress1
("파일별 진행률")가 진행률 정보를 제공합니다. 각 파일이 전송되면 다음과 같은 내용이 표시됩니다.
MD5SUMS.gnome
141 0% 0.00kB/s 0:00:00 (xfr#1, to-chk=11/13)
ParrotSecurity.lnk
179 0% 37.11kB/s 0:00:00 (xfr#2, to-chk=10/13)
SHA256SUMS.mate
486 0% 336.91kB/s 0:00:00 (xfr#3, to-chk=9/13)
SHA256SUMS.mate.gpg
1,419 0% 1.22MB/s 0:00:00 (xfr#4, to-chk=8/13)
SHA256SUMS.ubuntu
1,994 0% 1.77MB/s 0:00:00 (xfr#5, to-chk=7/13)
SHA256SUMS.ubuntu.gpg
2,927 0% 2.66MB/s 0:00:00 (xfr#6, to-chk=6/13)
xfer
xfer#6
는 어떤 파일이 전송되고 있는지( 6번째) 알려주고 , to-chk
(예를 들어 to-chk=6/13
)은 13개 중 6번째 파일임을 알려줍니다.
--dry-run
전송할 내용이 없으므로 에서는 이 내용을 얻을 수 없습니다 . ( --progress
맨 페이지에서는 명확하지 않지만 지금은 확인하지 않겠지만 를 사용하여 이 출력을 얻을 수도 있습니다 .)
매뉴얼 페이지를 보면 버전 3.0.0부터 시작하기 전에 몇 가지 디렉토리를 확인한 다음 전송하는 동안 계속해서 확인한다는 --recursive
것을 알 수 있습니다 . rsync -r
이는 "증분 재귀" 검색이며, 이 경우에는 ir-chk
대신 이 표시됩니다 to-chk
. 그리고 ir-chk
점진적으로 더 많은 파일을 검사함에 따라 의 "분모"가 증가할 수 있습니다.
를 사용하지 않은 경우 --recursive
먼저 체크섬을 수행하여 전송해야 할 모든 파일을 식별한 다음 하나씩 전송합니다. 그렇습니다~ 아니다rsync는 아직 파일 수나 크기를 알지 못하기 때문에 체크섬이 계산되는 초기 단계에서 모든 종류의 진행 보고서를 얻을 수 있는 것으로 보입니다. 체크섬이 계산될 때 파일 이름 목록을 얻을 수 있는지 여부에 관해서는 제가 읽은 바에 따르면 그렇게 나타나지 않습니다. (그러나 깔끔한 트릭이 있을 수 있으며 부정적인 것을 증명하기는 어렵습니다!)