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=file
megahallon이 제안하는 대로 --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를 반복하기를 원할 수도 있습니다.