시스템을 다시 동기화하는 중, 제외가 작동하지 않는 것 같습니다.

시스템을 다시 동기화하는 중, 제외가 작동하지 않는 것 같습니다.

rsync다음을 통해 내 서버의 전체 파일 시스템 백업을 수행하려고 합니다.이 가이드. 다음 명령을 사용하고 있습니다.

rsync -aAXH --progress --delete --stats --exclude={\
    "/dev/*",\
    "/proc/*",\
    "/sys/*",\
    "/tmp/*",\
    "/run/*",\
    "/mnt/*",\
    "/media/*",\
    "/lost+found"}\
    /* \
    newserver:/mnt/oldserver-backup

그러나 여전히 폴더를 백업했기 /media/x때문에 대상에 공간이 부족했습니다. 이 문제를 해결하는 방법은 무엇입니까?

답변1

--exclude={x,y,z}구성은 bash에서만 유효하며 bash가 올바르게 확장하려면 공백 없이 한 줄에 있어야 합니다.

목록을 별도의 파일에 넣어서 사용하거나 --exclude-from=filemegahallon이 제안하는 대로 --exclude= 옵션 부분을 직접 반복하는 것이 좋습니다.

/*또한 일반적으로 rsync가 소스로 재귀를 처리하도록 하고 싶지 않으므로 //의 도트 파일도 복사되도록 지정하면 됩니다. 나는 또한 놀라움을 방지하기 위해 항상 대상 디렉토리에 슬래시를 추가합니다.

답변2

rsync매뉴얼 페이지 에서

   Note also that the --filter, --include, and --exclude options take one
   rule/pattern each. To add multiple ones, you can repeat the options on     
   the command-line, use the merge-file syntax of the --filter option, or  
   the --include-from/--exclude-from options.

따라서 귀하의 경우 각 디렉토리에 대해 --exclude를 반복하기를 원할 수도 있습니다.

관련 정보