El directorio de exclusión de Rsnapshot no funciona

El directorio de exclusión de Rsnapshot no funciona

Rsnapshot no excluye los archivos que especifiqué en excluir_archivo.

Archivo de configuración

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

exclusión local.txt

exclude downloader/*
exclude var/*

archivo de registro 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

¿Alguna idea de qué podría estar mal?

Respuesta1

El problema es que utilizó la sintaxis rsync en el archivo de exclusión mientras que se esperan patrones de exclusión o globos.

Citando de rsnapshot(1):

excluir_archivo /ruta/a/excluir/archivo

Esto se pasa directamente a rsync usando la directiva --exclude-from. Consulte la página del manual rsync(1) para conocer la sintaxis.

Y rsync(1)dice:

--excluir-de=ARCHIVO

Esta opción está relacionada con la opción --exclude, pero especifica un ARCHIVO que contiene patrones de exclusión (uno por línea). Líneas en blanco en el archivo y líneas que comienzan con ';' o '#' se ignoran. Si ARCHIVO es -, la lista se leerá desde la entrada estándar.

Este es un ejemplo de mi exclude_file:

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

Dado que está excluyendo por ruta, sugeriría colocar un filtro rsync en los directorios apropiados, por ejemplo, esto es lo que tengo en mi casa:

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

información relacionada