Simple --exclude case fails?

Johann Schoonees <[email protected]> Wed, 25 Jan 2023 14:44:51 +1300
Newsgroups gmane.comp.sysutils.backup.rdiff-backup.general
Message-ID <[email protected]>
Dear List

I've been using rdiff-backup reliably for several years - what a great 
program.

I recently added a new --exclude option which rdiff-backup seems to 
ignore in my backup cron script.  The newly added line below is:
     --exclude "/root/snap" \

However the output listing below shows directories and files under 
/root/snap being backed up up anyway.  The rest of the include/exclude 
hierarchy seems to behave as expected.  Details follow:

$ uname -a
Linux <hostname> 4.15.0-202-generic #213-Ubuntu SMP Thu Jan 5 19:19:12 
UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

rdiff-backup invocation inside my bash script:
nice -n 10 rdiff-backup -v5 \
     --exclude-device-files \
     --exclude-fifos \
     --exclude-other-filesystems \
     --exclude-sockets \
     --include "/etc" \
     --exclude "/home/*/.local/share/Trash" \
     --exclude "/home/*/.cache" \
     --exclude "/home/*/Downloads" \
     --exclude "/home/*/.dropbox*" \
     --exclude "/home/*/Dropbox/.dropbox.cache" \
     --exclude "/home/*/snap" \
     --exclude "/home/*/tmp" \
     --exclude "/home/guest" \
     --include "/home" \
     --exclude "/root/snap" \
     --include "/root" \
     --exclude "/usr/local/MATLAB" \
     --include "/usr/local" \
     --exclude "/usr" \
     --exclude "**" \
     /  /media/backup_petrel_2/backup-rdiff

Output:
Using rdiff-backup version 1.2.8
Unable to import win32security module. Windows ACLs
not supported by filesystem at /
escape_dos_devices not required by filesystem at /
-----------------------------------------------------------------
Detected abilities for source (read only) file system:
   Access control lists                         On
   Extended attributes                          On
   Windows access control lists                 Off
   Case sensitivity                             On
   Escape DOS devices                           Off
   Escape trailing spaces                       Off
   Mac OS X style resource forks                Off
   Mac OS X Finder information                  Off
-----------------------------------------------------------------
Unable to import win32security module. Windows ACLs
not supported by filesystem at 
/media/backup_petrel_2/backup-rdiff/rdiff-backup-data/rdiff-backup.tmp.0
escape_dos_devices not required by filesystem at 
/media/backup_petrel_2/backup-rdiff/rdiff-backup-data/rdiff-backup.tmp.0
-----------------------------------------------------------------
Detected abilities for destination (read/write) file system:
   Ownership changing                           On
   Hard linking                                 On
   fsync() directories                          On
   Directory inc permissions                    On
   High-bit permissions                         On
   Symlink permissions                          Off
   Extended filenames                           On
   Windows reserved filenames                   Off
   Access control lists                         On
   Extended attributes                          On
   Windows access control lists                 Off
   Case sensitivity                             On
   Escape DOS devices                           Off
   Escape trailing spaces                       Off
   Mac OS X style resource forks                Off
   Mac OS X Finder information                  Off
-----------------------------------------------------------------
Backup: must_escape_dos_devices = 0
Starting increment operation / to /media/backup_petrel_2/backup-rdiff
Processing changed file .
Incrementing mirror file /media/backup_petrel_2/backup-rdiff
Processing changed file etc
Incrementing mirror file /media/backup_petrel_2/backup-rdiff/etc
...
Processing changed file root
Incrementing mirror file /media/backup_petrel_2/backup-rdiff/root
Processing changed file root/.bash_history
Incrementing mirror file 
/media/backup_petrel_2/backup-rdiff/root/.bash_history
...
Processing changed file root/.synaptic/synaptic.conf
Incrementing mirror file 
/media/backup_petrel_2/backup-rdiff/root/.synaptic/synaptic.conf
Processing changed file root/snap
Incrementing mirror file /media/backup_petrel_2/backup-rdiff/root/snap
Processing changed file root/snap/brave
Incrementing mirror file /media/backup_petrel_2/backup-rdiff/root/snap/brave
Processing changed file root/snap/brave/180
Incrementing mirror file 
/media/backup_petrel_2/backup-rdiff/root/snap/brave/180
Processing changed file root/snap/brave/180/.config
Incrementing mirror file 
/media/backup_petrel_2/backup-rdiff/root/snap/brave/180/.config
...
Processing changed file root/snap/brave/current
Incrementing mirror file 
/media/backup_petrel_2/backup-rdiff/root/snap/brave/current
Processing changed file usr
Incrementing mirror file /media/backup_petrel_2/backup-rdiff/usr
Processing changed file usr/local
Incrementing mirror file /media/backup_petrel_2/backup-rdiff/usr/local
...

I've had to trim the output above, but the full output shows 
rdiff-backup working through the entire /root/snap hierarchy.

Expected behaviour:
The /root/snap hierarchy excluded from backup.

Am I doing something wrong in the rdiff-backup invocation?  is it a bug?

I have just become aware of the new rdiff-backup version 2 and I should 
soon upgrade.  However I would in the meantime be grateful for any fix 
to my current backup problem.

Cheers,
Johann



-- 

This electronic transmission and any documents accompanying this 
electronic transmission contain confidential information belonging to the 
sender. This information may be legally privileged. The information is 
intended only for the use of the individual or entity named above. If you 
are not the intended recipient, you are hereby notified that any 
disclosure, copying, distribution or the taking of any action in reliance 
on or regarding the contents of this electronically transmitted information 
is strictly prohibited.

To ensure compliance with legal requirements and 
to maintain cyber security standards, our IT systems are subject to ongoing 
monitoring, activity logging and auditing. This monitoring and auditing 
service may be provided by third parties. Such third parties can access 
information transmitted to, processed by and stored on our IT systems.