Why does this rsnapshot exclude not work?

Posted by bstpierre on Super User See other posts from Super User or by bstpierre
Published on 2009-11-03T18:13:09Z Indexed on 2010/12/27 16:56 UTC
Read the original article Hit count: 305

Filed under:
|

Rsnapshot passes excludes directly to rsync, but rsync's behavior appears inconsistent.

I've simplified my rsnapshot backup test to the following directory tree (this tree will be backed up):

gorilla:~# find /tmp/snaptest -exec file {} \;
/tmp/snaptest: directory
/tmp/snaptest/SKIPTHIS: directory
/tmp/snaptest/SKIPTHIS/xyz: directory
/tmp/snaptest/SKIPTHIS/xyz/testing: ASCII text
/tmp/snaptest/SKIPTHIS/bar: ASCII text
/tmp/snaptest/SKIPTHIS/foo: ASCII text
/tmp/snaptest/SKIPTHIS.txt: ASCII text

My config file:

config_version  1.2
snapshot_root   /tmp/backup-media
no_create_root  1
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 	3
loglevel    3
logfile /media/maxtor-one-touch/rsnapshot.log
lockfile    /media/maxtor-one-touch/backups/.rsnapshot.pid
rsync_short_args    -a
rsync_long_args --delete --numeric-ids --relative --delete-excluded
exclude "SKIPTHIS/**"
link_dest   1
backup  /tmp/snaptest	snaptest

The result:

gorilla:~# rsnapshot -c /tmp/snaptest.conf hourly
echo 12638 > /media/maxtor-one-touch/backups/.rsnapshot.pid 
mkdir -m 0755 -p /tmp/backup-media/hourly.0/ 
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \
    --exclude="SKIPTHIS/**" /tmp/snaptest \
    /tmp/backup-media/hourly.0/snaptest 
touch /tmp/backup-media/hourly.0/ 
rm -f /media/maxtor-one-touch/backups/.rsnapshot.pid 
gorilla:~# find /tmp/backup-media/ -exec file {} \;
/tmp/backup-media/: directory
/tmp/backup-media/hourly.0: directory
/tmp/backup-media/hourly.0/snaptest: directory
/tmp/backup-media/hourly.0/snaptest/tmp: sticky directory
/tmp/backup-media/hourly.0/snaptest/tmp/snaptest: directory
/tmp/backup-media/hourly.0/snaptest/tmp/snaptest/SKIPTHIS: directory
/tmp/backup-media/hourly.0/snaptest/tmp/snaptest/SKIPTHIS/xyz: directory
/tmp/backup-media/hourly.0/snaptest/tmp/snaptest/SKIPTHIS/xyz/testing: ASCII text
/tmp/backup-media/hourly.0/snaptest/tmp/snaptest/SKIPTHIS/bar: ASCII text
/tmp/backup-media/hourly.0/snaptest/tmp/snaptest/SKIPTHIS/foo: ASCII text
/tmp/backup-media/hourly.0/snaptest/tmp/snaptest/SKIPTHIS.txt: ASCII text

My confusion stems from the fact that if I copy-paste the rsync command echoed by rsnapshot, the SKIPTHIS directory is excluded! (I've tested with various other SKIPTHIS patterns with the same results.)

Any idea what's going on?

© Super User or respective owner

Related posts about backup

Related posts about exclude