소스를 업데이트할 때 rsync를 사용해도 안전합니까?

소스를 업데이트할 때 rsync를 사용해도 안전합니까?

rsyncrsync가 실행되는 동안 소스 파일 시스템이 수정될 가능성이 있다고 가정하면 마운트되고 쓰기 가능한 소스 파일 시스템을 사용하는 것이 안전합니까? 경쟁 상황에서 최신 수정 사항을 얻지 못할 수도 있을 것 같은데, 파손 위험이 있나요?

답변1

rsync읽기-쓰기 마운트 파일 시스템에서 사용하는 것은 매우 안전합니다. 시작 되면 rsync파일 목록을 작성한 다음 해당 파일 복사를 시작합니다. 이 파일 목록은 실행 중에 업데이트되지 않습니다. 그런 다음 실제 데이터를 복사합니다.

즉, 파일이 변경되면뒤쪽에 rsync복사할 파일 목록이 작성되었습니다.새로운콘텐츠. 그러나 새 파일이 생성되면다음에 추가rsync파일 목록이 작성된 후에는 새 파일이 복사되지 않습니다. 파일이삭제됨rsync파일 목록을 작성한 후 rsync는 파일을 복사할 수 없다는 경고를 표시합니다. 이는 스냅샷이 아니므로 데이터가 rsync어느 시점에 복사되었는지 알기가 어렵다는 점을 명심하세요 .rsync

반면, 파일 시스템 또는 볼륨 관리자 스냅샷(예: ZFS 또는 LVM 사용)은 즉시 생성되며 잘 정의된 특정 시점의 파일 시스템의 일관된 스냅샷이므로 다른 호스트에 복사할 수 있습니다. rsync이러한 일관성은 제공되지 않습니다.

편집하다:다른 사람들이 댓글에서 지적했듯이 rsync실제로 파일이 손상될 수도 있습니다. rsync가 파일 읽기를 시작하고 응용 프로그램이 동시에 파일에 쓰면 파일이 손상될 수 있습니다.

관련 정보