rsync는 기본적으로 대상의 파일, 폴더를 삭제합니까?


44

파일

그 가정 /foo/src만을 포함 A.c하고는 /foo/dest모두 포함 A.cB.c. 그리고 다음 명령을 실행한다고 가정 해보십시오.

rsync /foo/src/ /foo/dest

rsync삭제 B.c?

폴더

이제이 가정 /foo/src디렉토리가 포함되어 A그 안에 어떤 파일이와 그 /foo/dest두 디렉토리 포함 AB그 내부의 파일과, 각. 그리고 다음 명령을 실행한다고 가정합니다 (-a 옵션에 -r, 재귀 포함).

rsync -a /foo/src/ /foo/dest

rsync삭제 B하고 그 내용?


--delete스위치 가 필요합니다 .
fideli

답변:


51

기본적으로 rsync는 파일을 삭제하지 않지만 지정한 명령 옵션에 따라 다릅니다. 파일을 삭제하려는 경우 다음을 사용할 수 있습니다.

  • --- del (--- 삭제 중 별칭)
  • −- 삭제 (대상 디렉토리에서 외부 파일 삭제)
  • −-delete-before (수신자가 xfer [default] 이전에 삭제됨)
  • − 삭제 중 (수신자는 이전이 아닌 xfer 중 삭제)
  • −-delete-after (수신자는 xfer 이후가 아니라 이전에 삭제됨)
  • −-delete-excluded (대상 디렉토리에서 제외 된 파일도 삭제)
  • −−max−delete = NUM ​​(NUM 개 이상의 파일을 삭제하지 마십시오)

-a 옵션 을 구체적으로 호출 했으므로 맨 페이지의 내용은 다음과 같습니다.

−a, −- 아카이브 >

이것은 −rlptgoD 와 같습니다 . 재귀를 원하고 거의 모든 것을 보존하고 싶다고 말하는 빠른 방법입니다. 위의 동등성에 대한 유일한 예외는 -files-from 이 지정된 경우이며,이 경우 –r은 내포되지 않습니다.

참고 -a는 하드 링크를 보존하지 않는 다중 링크 된 파일을 찾는 것은 고가이기 때문에. -H 를 별도로 지정해야합니다 .

따라서 귀하의 질문에 대한 답변이 아니오 인 것 같습니다. 예를 들어 삭제되지 않습니다.
HTH

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.