다음 명령을 사용하여 rsync를 사용하여 Windows 드라이브에서 외장 HDD로 파일을 복사하고 싶습니다.
rsync -azv --progress --exclude-from '/home/mint/exclude.txt' '/media/mint/OS/' '/media/mint/external_hdd/C_drive_backup/'
exclude.txt
필요하지 않기 때문에 Windows, Program Files 및 ProgramData 폴더가 있습니다 . 그래서 위에 주어진 명령을 실행하고 잠에 들었습니다. 내가 깨어났을 때 내가 얻는 것은 다음과 같습니다.
sent 169,748,362,821 bytes received 3,982,112 bytes 16,898,347.01 bytes/sec
total size is 193,085,110,161 speedup is 1.14
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.0]
그렇다면 복사되지 않는 것에 대해 걱정해야 합니까? 해당 명령을 사용하여 du -hs /media/mint/OS/* | sort -h
얻어야 하는 총 크기를 계산하면 약 187GB입니다(rsync의 출력을 바이트에서 기가바이트로 비교: 169,748,362,821
-> ~158GB
. 193,085,110,161
-> ~179GB
. ).
복사되지 않은 파일/폴더를 확인할 수 있나요? 위로 스크롤하면 마지막 200줄이 표시되며 모두 100% 완료되었습니다.
파일을 다시 복사해야 하나요? 아니면 외장 하드 드라이브와 Windows 드라이브의 파일을 비교할 수 있는 방법이 있습니까?
답변1
전체 출력을 저장하지 않은 경우 rsync
복사되지 않은 내용을 찾는 유일한 방법은 다른 패스를 실행하여 비교하는 것입니다. rsync를 다시 실행하는 것이 좋습니다. 요점은 이미 전송된 것을 전송하는 것이 아닙니다. -v
지루한 출력에 압도당하지 않도록 매개변수를 전달하지 마세요 .
rsync -aq … 2>rsync.err
(전송하지 않고도 비교를 사용할 수 있지만 rsync -anq …
방금 복사한 경우에는 다시 아무것도 복사하지 않으므로 -n
그 경우에는 아무런 차이가 없습니다.)
답변2
소스나 대상이 모두 변경되지 않은 경우 선택적으로 rsync
스위치를 사용하여 다시 실행하여 -n
데이터를 복사하지 않고 전송될 내용을 확인할 수 있습니다. 추가하면 -q
일반 출력이 억제되고 전송할 수 없는 파일만 표시됩니다.
rsync -azvqn --exclude-from '/home/mint/exclude.txt' '/media/mint/OS/' '/media/mint/external_hdd/C_drive_backup/'
답변3
(원격 우분투 서버에서 로컬 우분투 PC로 폴더를 복사하는 동안) 똑같은 오류가 발생했을 때 소스 위치를 루트 디렉터리로 변경하여(깊지 않게) 쉽게 해결할 수 있었습니다.
그래도 문제가 해결되지 않으면 다음 단계는 가능한 한 얕은 대상 위치를 선택하는 것입니다.