![CentOS/Linux zip 유틸리티는 압축 중에 변경된 파일을 어떻게 처리합니까?](https://rvso.com/image/1303475/CentOS%2FLinux%20zip%20%EC%9C%A0%ED%8B%B8%EB%A6%AC%ED%8B%B0%EB%8A%94%20%EC%95%95%EC%B6%95%20%EC%A4%91%EC%97%90%20%EB%B3%80%EA%B2%BD%EB%90%9C%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%B2%98%EB%A6%AC%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
질문에 모든 내용이 나와 있습니다. 'zip -rv'를 실행하려는 디렉터리가 있지만 파일이 항상 변경됩니다(postgres 데이터베이스 기반 백업). 이것이 zip을 깨뜨릴까요, 아니면 rsync처럼 경고가 계속 표시될까요?
압축 중에 변경된 파일을 찾으면 Tar가 실패합니다. 파일 변경 사항을 생성하는 동안 디렉터리에서 몇 가지 테스트 zip을 실행했는데 어떤 오류도 보지 못했습니다. 하지만 운이 좋았고 zip이 이미 압축되었거나 변경된 파일에 아직 도착하지 않았기 때문일 수 있습니다. 이 시점에서 내 계획 B는 변경 디렉터리를 다른 폴더로 재동기화한 다음 정적 위치를 압축하는 것입니다. 하지만 이렇게 하면 공간이 두 배나 차지하게 되므로 가능하면 이를 피하고 싶습니다. zip이 압축 중에 파일 변경을 처리할 수 없는 경우 이를 처리하는 유틸리티가 있습니까?
OS는 centos 6입니다.
답변1
전혀 처리하지 않습니다. zip은 아카이브 생성을 시작할 때 전체 디렉토리 트리를 읽습니다.
- zip 작업 중에 파일이 삭제되면 경고 메시지가 표시됩니다.
- zip 작업 중에 파일이 생성되면 해당 파일은 아카이브에 포함되지 않습니다.만약에이미 읽은 디렉토리에 생성되었습니다. zip이 해당 디렉터리의 내용을 읽기 전에 파일이 생성되면 해당 파일은 아카이브에 있게 됩니다.
- zip 작업 중에 파일이 변경되면 해당 내용은 아카이브에 추가되었을 당시의 내용이 됩니다. 파일은 아카이브에 추가될 때 읽혀집니다.