
Rsnapshot não excluindo os arquivos que especifiquei em exclude_file.
Arquivo de configuração
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
local-excluir.txt
exclude downloader/*
exclude var/*
arquivo de log 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
Alguma ideia do que poderia estar errado?
Responder1
O problema é que você usou a sintaxe rsync no arquivo de exclusão, enquanto padrões ou globs de exclusão são esperados.
Citando de rsnapshot(1)
:
exclude_file /caminho/para/excluir/arquivo
Isso é passado diretamente para o rsync usando a diretiva --exclude-from. Consulte a página man do rsync(1) para obter a sintaxe.
E rsync(1)
disse:
--exclude-from=ARQUIVO
Esta opção está relacionada à opção --exclude, mas especifica um FILE que contém padrões de exclusão (um por linha). Linhas em branco no arquivo e linhas começando com ';' ou '#' são ignorados. Se FILE for -, a lista será lida a partir da entrada padrão.
Este é um exemplo do meu exclude_file
:
*~
\#*#
*.bak
*.old
Como você está excluindo por caminho, sugiro colocar um filtro rsync nos diretórios apropriados, por exemplo, é isso que tenho em minha casa:
include_/.emacs.d/
exclude_/.emacs.d/auto-save-list
exclude_/.emacs.d/eshell
exclude_/.emacs.d/image-dired
exclude_/.emacs.d/thumbs