rsync --backup-dir은 백업 디렉터리에 빈 폴더를 생성합니다.

rsync --backup-dir은 백업 디렉터리에 빈 폴더를 생성합니다.

다음과 같은 폴더 구조가 있습니다.

.
├── bkp
├── dst
└── src
    └── folder
        └── file

다음 명령을 실행합니다.

rsync -t -r -b --backup-dir /tmp/rsyncTest/bkp/ /tmp/rsyncTest/src/ /tmp/rsyncTest/dst/

내 결과는 다음과 같습니다

.
├── bkp
│   └── folder
├── dst
│   └── folder
│       └── file
└── src
    └── folder
        └── file

내 질문은 다음과 같습니다

  1. bkp(backup-dir)에 빈 폴더가 생성되는 이유는 무엇입니까?
  2. 생성이 안되나요?

답변1

제가 보기에는 구문이 잘못된 것 같습니다. 아마도 이것이 예상대로 작동하지 않는 이유일 것입니다.

~에서man rsync

--백업 디렉터리=디렉터리

따라서 다음과 같이 보일 것입니다. 이것은 나에게 효과적이었습니다.

rsync -tbr --backup-dir=/tmp/rsyncTest/bkp/ /tmp/rsyncTest/src/ /tmp/rsyncTest/dst/

--backup옵션은 --backup-dir파일이 변경된 후에만 작동합니다. 예를 들어 디렉터리 src에 3개의 파일이 있고 rsync이 명령을 사용하여 한 번 동기화했다고 가정합니다. 그 중 하나를 삭제한 다음 다시 생성하고 파일에 여러 가지 변경 사항을 추가한 다음 rsync명령을 다시 실행하면 해당 디렉터리의 이전 복사본이 dst해당 디렉터리로 이동되고 --backup-dir새 복사본이 귀하의 디렉터리에서 이동되었습니다 src. 귀하의 디렉터리로 이동하세요. dst변경 사항이 감지되지 않으면 디렉터리에 아무것도 저장되지 않습니다 bkp.

답변2

rsync 옵션을 사용하여 새로 생성된 " "( macOS에서와 같이) folder아래에 bkp보이지 않는 메타파일을 확인 하고 제외합니다 ..DS_Storels -a .--exclude

답변3

bkp에 "폴더"가 생성되는 이유는 --backup-dir 옵션 때문입니다. 이 옵션은 rsync에게 bkp를 백업 디렉터리로 지정하도록 지시합니다(즉, dst 폴더에 있는 기존 파일이 이 폴더로 이동됩니다). 이 폴더가 생성되지 않도록 하려면 이 옵션을 제거하기만 하면 됩니다.

관련 정보