rsync의 delete 옵션

2493 단어 CLIshelltech
rsync는 차분 파일을 신속하게 전송할 수 있는 명령행 도구다.
다양한 용도로 사용할 수 있는 도구이지만 특히 디렉터리 간의 동기화, 디렉터리 백업을 할 때 많이 사용된다.이때 자주 사용하는 옵션은 -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 옵션이 유용합니다.

    좋은 웹페이지 즐겨찾기