맨페이지를 기준으로 하면 다음과 같습니다.
--삭제 기간,--삭제
전송이 발생하면 수신 측에서 파일 삭제가 단계적으로 중단되도록 요청합니다. 디렉터리별 삭제 검색은 각 디렉터리의 업데이트를 확인하기 전에 수행되므로 디렉터리별 필터 파일이 업데이트되기 전에 삭제하는 것을 포함하여 보다 효율적인 --delete-before처럼 작동합니다. 이 옵션은 rsync 버전 2.6.4에서 처음 추가되었습니다. 파일 삭제에 대한 자세한 내용은 --delete(묵시적)를 참조하세요.
그리고 --delete-before
.--delete-after
나는 이것들과 의 차이점을 잘 이해하지 못합니다 --delete
. --delete
파일이 삭제되기 전, 도중, 이후 중 언제 삭제되나요?
문서에는 다음과 같이 나와 있습니다.
따라서 연결 종료가 3.0.0 이상이면 --delete가 지정된 경우 기본 삭제 모드는 이제 --delete-during입니다(이 향상된 삭제 모드를 요청하려면 --del 또는 --delete-during을 명시적으로 사용). .
--del
대체하겠다는 뜻인 것 같아요 --delete
. --delete
over 를 사용할 이유가 있나요 --del
? --del
3.0.0보다 작은 연결을 사용하면 문제가 발생합니까? (나는 이것이 rsync 버전이라고 가정하고 있습니다).
답변1
그런 다음 프로세스 --delete-after
는 추가/변경해야 하는 모든 파일을 전송한 다음 완료되면 불필요한 파일을 삭제합니다. 이는 전송이 중단되더라도 대상에 항상 모든 파일의 복사본이 있다는 의미이므로 유용할 수 있습니다. 그러나 대용량 파일을 전송하는 경우(예: 오프사이트 백업) 이전 파일과 새 파일을 모두 저장하기 위해 일시적으로 더 많은 공간이 필요할 수 있습니다.
그런 다음 --delete-before
전송이 시작되기 전에 프로세스에서 파일을 삭제합니다. 즉, 임시 공간이 많이 필요하지 않지만 전송이 중단되면 원격 측에 파일 복사본이 없을 수 있습니다.
또는 --del
그런 --delete-during
다음 모든 디렉토리의 파일을 삭제합니다.앞으로그리고뒤쪽에그리고 더 효율적입니다. "이전"의 영향을 부분적으로 받지만 하나의 디렉터리로 제한됩니다(따라서 데이터 손실 가능성이 적습니다).
--delete
--delete-during
--delete-before
기본값은 서버 3.0.0 이상과 통신하는 경우, 이전 버전과 통신하는 경우입니다. 따라서 --delete
특별한 튜닝이 필요한 경우가 아니라면 그냥 .