![rsync를 사용하여 최대 2개의 외장 하드 드라이브를 백업하시겠습니까?](https://linux55.com/image/103563/rsync%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%B5%9C%EB%8C%80%202%EA%B0%9C%EC%9D%98%20%EC%99%B8%EC%9E%A5%20%ED%95%98%EB%93%9C%20%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%A5%BC%20%EB%B0%B1%EC%97%85%ED%95%98%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
내 자료를 백업할 수 있는 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가 해당 파일 이름을 표현식으로 해석하지 않도록 하려면 리터럴 파일 이름을 정규식 구문에 따라 이스케이프해야 합니다.
예, 빈 디렉토리를 많이 얻었지만 빈 디렉토리를 삭제하는 스크립트는 또 다른 모험입니다.