내 자료를 백업할 수 있는 8TB 하드 드라이브가 있고 rsync가 쉽습니다. 이제 8TB 이상의 스토리지가 생겼으므로 추가로 8TB 드라이브를 구입했습니다.
내 질문은 첫 번째 드라이브에 없는 파일만 두 번째 드라이브에 동기화하도록 rsync에 어떻게 지시합니까?
다음을 사용하여 파일 목록을 만들려고했습니다.
cd /q/backup; find -type f > /oldbackup.txt
다음과 같은 파일이 생성됩니다.
./a/Dir/file1
./a/Dir/file2
./b/elsewhere/thing
./...
...
그런 다음 이렇게 사용하십시오
rsync -rvu --delete --exclude-from=/oldbackup.txt /x/live/a /x/live/b /r/backup/
하지만 rsync는 여전히 복사됩니다.모두파일에서 제외 목록이 무시되는 것 같습니다.
어떻게 작동하게 합니까?
또한 작동하더라도 새 백업에 빈 디렉터리가 많이 남는다고 가정하는 것이 맞습니까?
답변1
예, 문제는 (적어도 내 경우에는) 두 가지인 것 같습니다.
./
리더를 제거해야 합니다. rsync에서는 제외가 소스 디렉터리에 대해 절대적으로 또는 상대적으로 지정될 것으로 예상합니다.- rsync가 해당 파일 이름을 표현식으로 해석하지 않도록 하려면 리터럴 파일 이름을 정규식 구문에 따라 이스케이프해야 합니다.
예, 빈 디렉토리를 많이 얻었지만 빈 디렉토리를 삭제하는 스크립트는 또 다른 모험입니다.