Rsnapshot-Ausschlussverzeichnis funktioniert nicht

Rsnapshot-Ausschlussverzeichnis funktioniert nicht

Rsnapshot schließt die Dateien nicht aus, die ich in exclude_file angegeben habe.

Konfigurationsdatei

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

lokal-exclude.txt

exclude downloader/*
exclude var/*

rsnapshot-Protokolldatei

[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

Irgendeine Idee, was falsch sein könnte?

Antwort1

Das Problem besteht darin, dass Sie in der Ausschlussdatei die rsync-Syntax verwendet haben, obwohl Ausschlussmuster oder Globs erwartet werden.

Zitat aus rsnapshot(1):

exclude_file /Pfad/zur/Ausschlussdatei

Dies wird mit der Direktive --exclude-from direkt an rsync übergeben. Die Syntax finden Sie auf der Manpage rsync(1).

Und rsync(1)sagt:

--exclude-from=DATEI

Diese Option ist mit der Option --exclude verwandt, gibt aber eine DATEI an, die Ausschlussmuster enthält (eines pro Zeile). Leere Zeilen in der Datei und Zeilen, die mit ';' oder '#' beginnen, werden ignoriert. Wenn die DATEI - ist, wird die Liste von der Standardeingabe gelesen.

Dies ist ein Beispiel aus meinem exclude_file:

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

Da Sie nach Pfad ausschließen, würde ich vorschlagen, einen Rsync-Filter in die entsprechenden Verzeichnisse einzufügen. Das hier habe ich beispielsweise zu Hause:

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

verwandte Informationen