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.