X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fupstream%2Fbackupninja.git;a=blobdiff_plain;f=handlers%2Frdiff.helper;h=42bcb1b2de04c3809b55164eabdc0fad031b2cf0;hp=703444c277986ad8d73dbedfd3785bd1d9aeb9d2;hb=be75e4e6c536882c14db9a41c61585e7a9c045f6;hpb=51d938cd68c7a2eeaca73de9e14c6c34efceca88 diff --git a/handlers/rdiff.helper b/handlers/rdiff.helper index 703444c..42bcb1b 100644 --- a/handlers/rdiff.helper +++ b/handlers/rdiff.helper @@ -269,6 +269,24 @@ do_rdiff_finish() { [source] type = local keep = $rdiff_keep + +# A few notes about includes and excludes: +# 1. include, exclude and vsinclude statements support globbing with '*' +# 2. Symlinks are not dereferenced. Moreover, an include line whose path +# contains, at any level, a symlink to a directory, will only have the +# symlink backed-up, not the target directory's content. Yes, you have to +# dereference yourself the symlinks, or to use 'mount --bind' instead. +# Example: let's say /home is a symlink to /mnt/crypt/home ; the following +# line will only backup a "/home" symlink ; neither /home/user nor +# /home/user/Mail will be backed-up : +# include = /home/user/Mail +# A workaround is to 'mount --bind /mnt/crypt/home /home' ; another one is to +# write : +# include = /mnt/crypt/home/user/Mail +# 3. All the excludes come after all the includes. The order is not otherwise +# taken into account. + +# files to include in the backup EOF ## includes ## if [ "$host_or_vservers" == host -o "$host_or_vservers" == both ]; then @@ -296,7 +314,6 @@ EOF # vsinclude will add to the include list /vservers/foo/home, /vservers/bar/home # and /vservers/baz/home. # Vservers paths are derived from $VROOTDIR. -# vsinclude supports globbing with '*'. EOF set -o noglob @@ -375,7 +392,7 @@ rdiff_wizard() { # Global variables whose '*' shall not be expanded set -o noglob rdiff_includes=(/var/spool/cron/crontabs /var/backups /etc /root /home /usr/local/*bin /var/lib/dpkg/status*) - rdiff_excludes=(/home/*/.gnupg) + rdiff_excludes=(/home/*/.gnupg /home/*/.local/share/Trash /home/*/.Trash /home/*/.thumbnails /home/*/.beagle /home/*/.aMule /home/*/gtk-gnutella-downloads) rdiff_vsincludes= set +o noglob