Rsnapshot 제외 디렉터리가 작동하지 않음

Rsnapshot 제외 디렉터리가 작동하지 않음

Rsnapshot은 include_file에 지정한 파일을 제외하지 않습니다.

구성 파일

config_version  1.2
snapshot_root   /home/xxx/Backups/test/
cmd_cp  /bin/cp
cmd_rm  /bin/rm
cmd_rsync   /usr/bin/rsync
cmd_ssh /usr/bin/ssh
cmd_logger  /usr/bin/logger
cmd_du  /usr/bin/du
interval    hourly  6
interval    daily   7
interval    weekly  4
interval    monthly 3
verbose 2
loglevel    4
logfile /home/xxx/Desktop/local.log
exclude_file    /home/xxx/Desktop/local-exclude.txt
#rsync_long_args --delete --numeric-ids --delete-excluded
#lockfile   /var/run/rsnapshot.pid
backup_script   /home/xxx/Desktop/db-backup.sh  mysql/
backup  /var/www/dev/   test/
rsync_short_args    -avvv

지역 제외.txt

exclude downloader/*
exclude var/*

RSnapshot 로그 파일

[19/Apr/2012:11:42:44] /usr/bin/rsnapshot -c local-rsnapshot.conf hourly: started
[19/Apr/2012:11:42:44] Setting locale to POSIX "C"
[19/Apr/2012:11:42:44] mkdir -m 0755 -p /home/xxx/Backups/test/hourly.0/
[19/Apr/2012:11:42:44] mkdir -m 0755 -p /home/xxx/Backups/test/tmp/
[19/Apr/2012:11:42:44] cd /home/xxx/Backups/test/tmp/
[19/Apr/2012:11:42:44] /home/xxx/Desktop/db-backup.sh
[19/Apr/2012:11:42:46] cd /home/xxx/Backups/test/
[19/Apr/2012:11:42:46] sync_if_different("/home/xxx/Backups/test/tmp/", "/home/xxx/Backups/test/hourly.0/mysql/")
[19/Apr/2012:11:42:46] /bin/rm -rf /home/xxx/Backups/test/tmp/
[19/Apr/2012:11:42:46] /usr/bin/rsync -avvv --delete --numeric-ids --relative --delete-excluded --exclude-from=/home/xxx/Desktop/local-exclude.txt /var/www/dev /home/xxx/Backups/test/hourly.0/test/
[19/Apr/2012:11:43:24] Some files and/or directories in /var/www/dev/ only transferred partially during rsync operation
[19/Apr/2012:11:43:24] touch /home/xxx/Backups/test/hourly.0/
[19/Apr/2012:11:43:24] WARNING: /usr/bin/rsnapshot -c local-rsnapshot.conf hourly: completed, but with some warnings

무엇이 잘못되었을 수 있는지에 대한 아이디어가 있나요?

답변1

문제는 제외 패턴이나 glob이 예상되는 반면 제외 파일에서 rsync 구문을 사용했다는 것입니다.

인용 rsnapshot(1):

제외_파일 /경로/to/제외/파일

이는 --exclude-from 지시어를 사용하여 rsync로 직접 전달됩니다. 구문은 rsync(1) 매뉴얼 페이지를 참조하십시오.

그리고 rsync(1)말한다:

--제외-에서=FILE

이 옵션은 --exclude 옵션과 관련되어 있지만 제외 패턴(한 줄에 하나씩)이 포함된 FILE을 지정합니다. 파일의 빈 줄과 ';'로 시작하는 줄 또는 '#'은 무시됩니다. FILE이 -이면 표준 입력에서 목록을 읽습니다.

이것은 내 예입니다 exclude_file.

*~
\#*#
*.bak
*.old

경로별로 제외하고 있으므로 적절한 디렉터리에 rsync-filter를 두는 것이 좋습니다. 예를 들어 이것이 내 집에 있는 것입니다.

include_/.emacs.d/
exclude_/.emacs.d/auto-save-list
exclude_/.emacs.d/eshell
exclude_/.emacs.d/image-dired
exclude_/.emacs.d/thumbs

관련 정보