특정 디렉토리 및 파일 유형 (--exclude
)을 제외하고 내 집 및 기타 중요한 디렉토리를 외장 드라이브에 백업하기위한 스크립트를 만들려고합니다. exclude 목록 (--delete-excluded
)에 파일 형식이나 디렉토리를 추가 할 경우를 대비하여 백업에서 제외 된 파일도 삭제해야합니다.rsync에서 디렉토리가 제거되지 않도록하려면 어떻게해야합니까?
또한 무언가가 끔찍하게 잘못 될 경우를 대비하여 제거 된 모든 항목을 백업해야합니다 (--backup --backup-dir=rsync/backup
).
나는이 함께 시작입니다 : --backup --backup-dir=rsync/backup
와
#!/usr/bin/env bash
PATH_PWD="`pwd`"
PATH_HOME=~
SRC="/home/redsandro"
PATH_TARGET="/media/redsandro/MyBook 4TB/backup/`hostname`"
PATH_BIN="${SRC}/bin"
EXCL_FROM="${PATH_BIN}/rs-backup-external.sh.exclude.txt"
DATE="`date +%Y-%m-%d`"
OPTS="-ahl --update --del --delete-excluded --force --ignore-errors --progress --stats --exclude-from=$EXCL_FROM --log-file=~/rsync/rsync.$DATE.log"
OPTS="$OPTS --backup --backup-dir=rsync/backup/${DATE}"
#OPTS="$OPTS --dry-run"
echo Backing up $SRC to $PATH_TARGET...
echo
sudo rsync $OPTS "$SRC/" "${PATH_TARGET}${SRC}"
이제 분명히 --del
충돌합니다. 이 디렉터리가 삭제되지 않도록 제외 할 수 있습니까? 아니면 이것을하기위한 더 쉬운 방법이 있을까요?
내 목표는 모든 컴퓨터에서 실행할 수있는 스크립트를 갖는 것입니다.이 컴퓨터에서 부품은 컴퓨터 별 디렉토리에 동기화되고 다른 부품 (문서, 그림)은 모두 글로벌 디렉토리에 동기화됩니다 어쨌든.
혹시이 문제를 해결 했 :
은 여기 내
man (1) rsync
의 말씀입니까? 나는 당신이 무엇을하려고하는지 명확하지 않다 - 백업의 백업? – philshem아니, 내가 한 적이 없어. 정기적 인 미러 백업을 시도했지만 백업에서 삭제할 모든 파일을 특수 디렉토리로 이동하여 우연히 제거 된 항목을 실행 취소 할 수있었습니다. – Redsandro
아마도 rsync의 -n 또는 --dry-run 옵션을 사용하여 수행 할 작업을 확인한 다음 rsync의 실제 실행에서 삭제 될 데이터를 복사 할 수 있습니까? – GL2014