Rsync 오류 23 : 전송되지 않은 파일을 알 수 있습니까?


32

나는 도망 sudo rsync -va --progress다른 외부 드라이브의 폴더에 하나 개의 외부 드라이브의 루트에서. 그 이유는 소스 드라이브에 NTFS 오류가 있고 NTFS를 복구하기 위해 Windows PC에 액세스 할 수 없기 때문입니다.

10 시간 후에 그것은 말했다 :

sent 608725204596 bytes  received 19365712 bytes  15902210.53 bytes/sec
total size is 608586212274  speedup is 1.00
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-42/rsync/main.c(992) [sender=2.6.9]

전체 터미널 출력을 저장했습니다. 처음에는 Input/output error (5)실제로 총 2GB가 필요하지 않은 파일 수백 개가 있습니다. OSX Finder "디스크 사용량"은 위의 보고서에서와 같이 소스가 608 억 바이트가 아니라 617 억 바이트임을 알려줍니다.

질문 :

  1. 자세한 정보 출력 (파일 목록 작성)의 첫 번째 부분 Input/output error (5)이 복사되지 않는 모든 파일에 대해 확실히 말 합니까?
  2. code 23파일을 제외한 모든 파일 Input/output error (5)이 성공적으로 복사 되었음을 의미 합니까 ?

1
아마도 도움이 될 것입니다 : rsync 오류 메시지는 "rsync :"로 시작하는 것으로 보이므로 grep '^rsync: ' output도움 이 될 수 있습니다.
— barrycarter

답변:


19

23 맨 페이지에서 만 의미합니다.

23 오류로 인한 부분 전송

전송할 수없는 모든 경우 오류 메시지가 표시됩니다. 오류 메시지는 디렉토리를 열거 나 읽는 것에 관한 것일 수 있으므로 전송할 수없는 각 파일에 대해 반드시 오류 메시지가 표시되는 것은 아닙니다.

소스가 변경되지 않은 경우 rsync다시 -n전송하여 실제로 전송하지 않고 이번에 전송되는 내용을 확인할 수 있습니다.

바이트 차이 rsync에 대해 파일 크기 (파일에서 읽을 수있는 데이터 양)를 제공합니다. 당신은시겠습니까 Finder당신에게 말하지 않는 디스크 사용량을 대신?

또한 NTFS는 파일의 대체 스트림 또는 속성에 데이터를 저장할 수 있으며 rsync일반적으로 해당 데이터를 전송하지 않으며이를 인식하지 못합니다 (많은 것도 설명 할 수 있음).


따라서 전송되지 않은 모든 데이터 (아무리 손상 되었더라도)가 처음에 Input/output error (5)?
— themirror

바이트 차이에 관해서 : 예 맞습니다. rsync의 보고서와 Finder의 "디스크 사용량"의 차이가 90 억 바이트 인 이유에 대해 혼란 스러웠지만 2 ~ 3 억 바이트의 파일 만 식별 할 수 있습니다 Input/output error (5). 설명 할 수 있습니까?
— themirror

1
@themirror, 1 바이트 파일은 디스크에 저장하기 위해 몇 킬로 바이트가 여전히 필요합니다 ( echo > file; du -k file소스 파일 시스템에서 얼마나 많은지를 보려고 시도 하지만 ntfs에서는 보통 4k입니다). rsync크기는 1이지만 파인더는 해당 파일에 대해 4096을 알려줍니다.
— Stéphane Chazelas

@ themirror, 첫 번째 의견으로, 전송할 수없는 모든 것 (파일 내용, 대체 스트림에 대한 내 편집 참조)에 대해 오류가 발생하지만 디렉토리를 읽을 수없는 경우 / 푸 , 다음 분명히 /foo/bar하고 /foo/bar/baz중 하나를 전송되지 않았을 것입니다.
— Stéphane Chazelas

17

rsync의 -q플래그를 사용하여 rsync의 비 오류 출력을 끌 수 있습니다 .

-q, --quiet                 suppress non-error messages

-q플래그 와 함께 rsync를 다시 실행하면 rsync는 여전히 실패 할 수 있지만 적어도 이번에는 문제를 일으키는 오류 메시지가 파일 전송 상태 메시지의 줄과 줄에 묻히지 않습니다.


2

Re : error 23--이 오류가 발생하는 가장 일반적인 이유는 rsync 소스에 약간의 오타가 들어가도록하기위한 것입니다. 소스 명령을 살펴보고 ls에 대해 모든 사항을 확인하고 여분의 공간이나 1-l 문제와 같은 미묘한 미묘한 것들을 찾으십시오.


나는 그것이 어리 석다는 것을 알고 있지만, 내가이 멍청한 실수를 저질렀다는 것을 깨달을 때까지 코드를 계속 파고 들었습니다. 고맙습니다!
— rburhum
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.