업데이트 1

업데이트 1

다양한 크기의 수천 개의 파일을 동기화하려고 하는데 파일의 1:1 복사본을 원합니다. 이는 이미 존재하는 파일의 무결성을 검사해야 하며 체크섬이 잘못된 경우 파일을 덮어써야 함을 의미합니다. 부분적인 전송 실패로 인해 이때 소위 증분 전송이 필요합니다.

분명히 내 설치가 약간 불안정하여 cp300-400GB를 사용하거나 전송한 후에 실패할 것입니다 rsync.

그 전에 나는 다음을 수행했습니다.

  1. 스토리지를 설치했는데 cp -r src dest설치가 중단되고 오류가 발생하여 약 300GB 후에 실패했습니다(분명히 더 이상 오류가 발생하지 않음).
  2. 다시 스토리지를 마운트해서 했는데 , 또 마운트가 실패해서 rsync -aP src dest400GB 정도 지나서 실패했습니다 . rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1338) [sender=3.2.7]파일 크기를 고려하면 대부분의 파일을 덮어쓸 수 있습니다.
  3. 커널 로그를 확인했는데 아무것도 발견되지 않았습니다( sudo dmesg).

내 마운트에 대한 재연결 플래그를 찾았지만 즉시 실행되지는 않습니다.

  • 체크섬을 계산하기 위한 rsync라는 플래그가 있지만 -c델타 전송이라는 작업도 수행합니까, 아니면 더 많은 플래그를 추가해야 합니까?

이 문제를 어떻게 가장 잘 해결할 수 있습니까?

업데이트 1

틀렸다면 정정해 주시고, 현재 문제는 스토어의 소유자 및 그룹이 rsync의 사용자 및 그룹과 다르다는 점인 것 같습니다. 자세한 설명: cp -r파일을 복사하고 소유권과 그룹 소유권을 사용자 사본으로 변경했는데 rsync를 하면 동일한 사용자와 그룹 소유권으로 파일을 1:1로 복사하는 것 같은데... 그래서 전송이 이전 파일을 덮어쓰는 것 같습니다...

답변1

두 로컬 파일 시스템 간에 복사하는 것 같습니다. 그렇다면 rsync해당 체크섬 체계는 사용되지 않으며 원래 상태로 돌아갑니다 cp.

루트로 실행하는 경우 cp및 모두 소유자/그룹을 유지합니다. rsync그렇지 않으면 대상 파일은 복사를 수행하는 계정의 소유자 및 (기본) 그룹을 가정합니다.

원본 타임스탬프를 복사한 경우 파일 크기와 타임스탬프만 확인 cp하고 rsync이를 사용하여 누락된 메타데이터를 업데이트할지 아니면 전체 파일을 다시 복사할지 결정할 수 있습니다.

rsync -rt src/ dst    # Timestamps only
rsync -a src/ dst     # Almost all metadata

일부 파일 시스템은 메타데이터를 보존하지 않을 수 있습니다. 아니면 루트로 실행되고 있지 않을 수도 있습니다. 이러한 경우 확장된 속성에 각 파일과 함께 메타데이터를 저장할 수 있습니다. -X여기에 다음을 추가 할 수 있습니다 .

rsync -aX src/ dst    # Almost all metadata

관련 정보