rsync의 delete 옵션
다양한 용도로 사용할 수 있는 도구이지만 특히 디렉터리 간의 동기화, 디렉터리 백업을 할 때 많이 사용된다.이때 자주 사용하는 옵션은
-a--archive과--delete입니다.그 중에서
--delete에는 미세한 행위가 다른 옵션이 존재한다.제가 이 옵션을 소개하겠습니다.delete 옵션
rsync의 --delete 옵션은 전송 원본의 디렉터리에 존재하지 않고 전송 목적지의 디렉터리에 파일이 존재하면 삭제합니다.전형적인 사용 방법을 예를 들어 설명하다.
src 디렉터리를 backup 디렉터리에 백업하려면 다음 옵션을 지정하여 실행할 수 있습니다.rsync -a --delete src backup
이 명령의 -a 옵션에 따라 src 아래 파일의 각종 속성을 저장하고 복사backup합니다.--delete 옵션은 src에서 삭제된 파일을 backup에서 삭제합니다.다양한 delete 옵션
rsync version 3.2.3의 man 페이지에 따라
--delete와 같은 처리를 하는 4가지 옵션이 있습니다.이것들은 모두 --delete와 같이 파일을 삭제하는 옵션으로 같은 결과를 얻었다.다른 것은 '언제' 파일을 삭제합니다.--delete-before: 파일을 전송하기 전에 삭제할 파일을 스캔하고 전송 목적지에서 삭제합니다.--delete-during: 파일을 전송하는 동안 삭제할 파일을 찾으면 삭제합니다.--delete-delay: 파일을 전송하면서 삭제할 파일을 기록하고 전송이 끝난 후 전송 목적지에서 파일을 삭제한다.--delete-after: 파일 전송이 끝난 후 삭제할 파일을 스캔하여 전송 목적지에서 파일을 삭제합니다.--delete 옵션은 rsync3.0.0 이후--delete-during와 동일하게 지정되지 않았다.이 밖에 더 오래된 버전에서는 --delete-before와 동작이 같다.어떤 옵션을 사용해야 합니까?
삭제 처리 시점을 자세히 논의하려면 매뉴얼에 장점과 단점이 적혀 있으니 읽은 뒤 꼼꼼히 따져보는 게 좋다.이 글은 보기만 간단히 소개했을 뿐 더 자세히 알고 싶으면 안내서를 읽어야 한다.
이 기초 위에서 나는 간단한 지침을 써 보았다.
원래부터 특별히 신경 쓰지 않았다면
--delete됐다.중도의 행동이 조금이라도 다르면 결과가 같기 때문에 준비한 기본 처리에 협조하는 것이 타당하다.많은 경우
--delete-during 효율이 좋은 것 같아요.rsync3에서는 기본 동작입니다.rsync2에서도 이런 행동을 하려고 할 때 명확하게 지정한다.전송 목적지의 여유 용량이 적은 경우 먼저 전송 목적지의 파일
--delete-before을 삭제하는 것이 유익하다.그러나 동기화 파일이 많은 경우 전체적으로 파일을 스캔하고 삭제하는 데 시간이 걸리기 때문에 실제 전송하기 전에 시간이 걸리는 것이 단점이다.상황에 따라 전송하기 전에 시간을 초과할 수 있습니다.파일을 삭제하는 것보다 파일 전송을 먼저 끝내고 싶다는 생각도 있다.전송 목적지의 여유 용량이 충분하면 삭제가 우선적이지 않을 수도 있죠.이런 경우
--delete-after나--delete-delay가 좋다.보태다
delete 옵션은 전송 목적지 디렉터리에서 파일을 삭제하는 처리로 파괴적인 작업입니다. 실행할 때 오류가 발생하지 않도록 주의하십시오.
예를 들어
rsync를 사용할 때 오류가 발생하기 쉬운 요점으로 전송원 디렉터리 이름의 끝에 /를 붙일지 안 붙일지는 다르다.오류를 방지하기 위해 -n--dry-run 옵션과 -v--verbose 옵션이 유용합니다.
Reference
이 문제에 관하여(rsync의 delete 옵션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/usamik26/articles/rsync-delete-options텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)