mirror of
https://0xacab.org/liberate/backupninja.git
synced 2024-09-19 23:21:40 +02:00
rdiff,dup: fix include/exclude paths with spaces (Closes: #398435)
This also fixes Redmine bug #1021.
This commit is contained in:
parent
47313bca65
commit
4e0519e390
@ -42,6 +42,8 @@ version 0.9.7 -- UNRELEASED
|
||||
database names.
|
||||
. Use bash pipefail option when needed so that failed dumps are
|
||||
reported as such.
|
||||
rdiff:
|
||||
. Fix include/exclude paths with spaces (Closes: #398435)
|
||||
sys:
|
||||
. New luksheaders option (default=disabled) to backup the Luks header
|
||||
of every Luks device.
|
||||
@ -55,6 +57,7 @@ version 0.9.7 -- UNRELEASED
|
||||
one time (Closes: #536360)
|
||||
. Report duplicity output as "info" so that it can be included in
|
||||
report e-mail when reportinfo is on (Closes: #563734)
|
||||
. Fix include/exclude paths with spaces
|
||||
helper changes
|
||||
dup:
|
||||
. Do not propose to exclude /home/*/.gnupg twice anymore
|
||||
|
@ -189,26 +189,35 @@ fi
|
||||
set -o noglob
|
||||
|
||||
# excludes
|
||||
SAVEIFS=$IFS
|
||||
IFS=$(echo -en "\n\b")
|
||||
for i in $exclude; do
|
||||
str="${i//__star__/*}"
|
||||
execstr_source="${execstr_source} --exclude '$str'"
|
||||
done
|
||||
IFS=$SAVEIFS
|
||||
|
||||
# includes
|
||||
SAVEIFS=$IFS
|
||||
IFS=$(echo -en "\n\b")
|
||||
for i in $include; do
|
||||
[ "$i" != "/" ] || fatal "Sorry, you cannot use 'include = /'"
|
||||
str="${i//__star__/*}"
|
||||
execstr_source="${execstr_source} --include '$str'"
|
||||
done
|
||||
IFS=$SAVEIFS
|
||||
|
||||
# vsincludes
|
||||
if [ $usevserver = yes ]; then
|
||||
for vserver in $vsnames; do
|
||||
SAVEIFS=$IFS
|
||||
IFS=$(echo -en "\n\b")
|
||||
for vi in $vsinclude; do
|
||||
str="${vi//__star__/*}"
|
||||
str="$VROOTDIR/$vserver$str"
|
||||
execstr_source="${execstr_source} --include '$str'"
|
||||
done
|
||||
IFS=$SAVEIFS
|
||||
done
|
||||
fi
|
||||
|
||||
|
@ -209,20 +209,28 @@ symlinks_warning="Maybe you have mixed symlinks and '*' in this statement, which
|
||||
|
||||
# TODO: order the includes and excludes
|
||||
# excludes
|
||||
SAVEIFS=$IFS
|
||||
IFS=$(echo -en "\n\b")
|
||||
for i in $exclude; do
|
||||
str="${i//__star__/*}"
|
||||
execstr="${execstr}--exclude '$str' "
|
||||
done
|
||||
IFS=$SAVEIFS
|
||||
# includes
|
||||
SAVEIFS=$IFS
|
||||
IFS=$(echo -en "\n\b")
|
||||
for i in $include; do
|
||||
[ "$i" != "/" ] || fatal "Sorry, you cannot use 'include = /'"
|
||||
str="${i//__star__/*}"
|
||||
execstr="${execstr}--include '$str' "
|
||||
done
|
||||
IFS=$SAVEIFS
|
||||
|
||||
# vsinclude
|
||||
if [ $usevserver = yes ]; then
|
||||
for vserver in $vsnames; do
|
||||
SAVEIFS=$IFS
|
||||
IFS=$(echo -en "\n\b")
|
||||
for vi in $vsinclude; do
|
||||
str="${vi//__star__/*}"
|
||||
str="$VROOTDIR/$vserver$str"
|
||||
@ -232,6 +240,7 @@ if [ $usevserver = yes ]; then
|
||||
warning "vsinclude statement '${vi//__star__/*}' will be ignored for VServer $vserver. $symlinks_warning"
|
||||
fi
|
||||
done
|
||||
IFS=$SAVEIFS
|
||||
done
|
||||
fi
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user