내가 가지고 있다고
SRC
001.jpg
002.jpg
001.txt
a.zip
DEST
hello.jpg
rsync -d --delete SRC:{*.jpg,*.txt} DEST
DEST에서 hello.jpg를 제거하지 않습니다. 이것을 보관하는 방법을 알고 있습니까?
명령이 작동하지 않는 이유는 rsync 매뉴얼 페이지에 설명되어 있습니다 (강조 추가됨).
--지우다
이는 rsync가 수신 측 (발신 측에없는 파일)에서 불필요한 파일을 삭제하도록 지시하지만 동기화중인 디렉토리에 대해서만 삭제합니다. 와일드 카드가 쉘에 의해 확장되고 rsync가 파일의 상위 디렉토리가 아닌 개별 파일을 전송하도록 요청합니다. 전송에서 제외 된 파일은 --delete-excluded 옵션을 사용하거나 규칙을 보내는 쪽에서 만 일치하는 것으로 표시하지 않는 한 삭제에서 제외됩니다 (필터 규칙 섹션의 포함 / 제외 수정 자 참조).
따라서 실행하면
$ rsync -d --delete SRC:{*.jpg,*.txt} DEST
DEST에서 원하지 않는 파일은 실제로 동기화 할 디렉터리를 요청하지 않았기 때문에 삭제되는 것이 아니라 소수의 특정 파일에 대해서만 삭제됩니다. 원하는 결과를 얻으려면 다음과 같이 시도하십시오.
rsync -d --delete-excluded --include '*.jpg' --include '*.txt' --exclude '*' SRC/ DEST/
include 및 exclude 지시문의 순서가 중요합니다. 기본적으로 각 파일은 나타나는 순서대로 포함 또는 제외 패턴에 대해 확인됩니다. 따라서 확장자가 .jpg 또는 .txt 인 파일은 제외 된 "*"패턴과 일치하기 전에 "포함 된"패턴과 일치하므로 동기화됩니다. 다른 모든 것은 --exclude '*'
패턴에 의해 제외됩니다 . 이 --delete-excluded
옵션은 DEST 측에서 제외 된 파일도 삭제되도록합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다