mirror of
https://0xacab.org/liberate/backupninja.git
synced 2024-11-23 11:13:18 +01:00
Added vservers support to duplicity handler.
This commit is contained in:
parent
773c194279
commit
d675fa6df9
@ -1,7 +1,11 @@
|
||||
version XX -- ...
|
||||
|
||||
added pgsql (PostgreSQL) handler, with vservers support
|
||||
|
||||
added vservers support to duplicity handler
|
||||
Note: the configuration is a bit different of rdiff
|
||||
handler's one, but the default behavior is the same: have
|
||||
a look to example.dup.
|
||||
|
||||
version 0.7 -- July 26 2005
|
||||
added ninjahelper: a dialog based wizard for creating backupninja configs.
|
||||
considerably improved and changed the log file output.
|
||||
|
@ -58,6 +58,18 @@ include = /usr/local/sbin
|
||||
include = /var/lib/dpkg/status
|
||||
include = /var/lib/dpkg/status-old
|
||||
|
||||
# If vservers = yes in /etc/backupninja.conf then the following variables can
|
||||
# be used:
|
||||
# vsnames = all | <vserver1> <vserver2> ... (default = all)
|
||||
# vsinclude = <path>
|
||||
# Any path specified in vsinclude is added to the include list for each vserver
|
||||
# listed in vsnames (or all if vsnames = all).
|
||||
# E.g. vsinclude = /home will backup the /home partition in every vserver
|
||||
# listed in vsnames. If you have vsnames = "foo bar baz", this vsinclude will
|
||||
# add to the include list /vservers/foo/home, /vservers/bar/home and
|
||||
# /vservers/baz/home.
|
||||
# Vservers paths are derived from $VROOTDIR.
|
||||
|
||||
# rdiff-backup specific comment, TO ADAPT
|
||||
# files to exclude from the backup
|
||||
# (supports globbing with '*')
|
||||
|
41
handlers/dup
41
handlers/dup
@ -14,6 +14,8 @@ getconf encryptkey
|
||||
|
||||
setsection source
|
||||
getconf include
|
||||
getconf vsnames all
|
||||
getconf vsinclude
|
||||
getconf exclude
|
||||
|
||||
setsection dest
|
||||
@ -29,7 +31,34 @@ destdir=${destdir%/}
|
||||
[ "$include" != "" ] || fatal "No source includes specified"
|
||||
[ "$password" != "" ] || fatal "No password specified"
|
||||
|
||||
# see if we can login
|
||||
### vservers stuff ###
|
||||
|
||||
# See if vservers are configured.
|
||||
# If so, check that the ones listed in $vsnames do exist.
|
||||
if [ "$vservers" == "yes" ]; then
|
||||
[ -d "$VROOTDIR" ] || fatal "vservers enabled, but $VROOTDIR does not exist!"
|
||||
if [ "$vsnames" == "all" ]; then
|
||||
vsnames=""
|
||||
for vserver in `ls $VROOTDIR | grep -v lost+found | grep -v ARCHIVES`; do
|
||||
vsnames="$vserver $vsnames"
|
||||
done
|
||||
else
|
||||
for vserver in "$vsnames"; do
|
||||
[ -d "$VROOTDIR/$vserver" ] || fatal "vserver '$vserver' does not exist."
|
||||
done
|
||||
fi
|
||||
if [ -n "$vsnames" ]; then
|
||||
if [ -n "$vsinclude" ]; then
|
||||
info "Using vservers '$vsnames'"
|
||||
usevserver=1
|
||||
fi
|
||||
else
|
||||
[ -z "$vsinclude" ] || warning 'vsnames is empty, vsinclude configuration lines will be ignored'
|
||||
fi
|
||||
fi
|
||||
|
||||
### see if we can login ###
|
||||
|
||||
if [ "$testconnect" == "yes" ]; then
|
||||
debug "ssh $sshoptions -o PasswordAuthentication=no $desthost -l $destuser 'echo -n 1'"
|
||||
if [ ! $test ]; then
|
||||
@ -80,6 +109,16 @@ for i in $include; do
|
||||
execstr="${execstr}--include $str "
|
||||
done
|
||||
|
||||
# vsincludes
|
||||
if [ $usevserver ]; then
|
||||
for vserver in $vsnames; do
|
||||
for vi in $vsinclude; do
|
||||
str="${vi//__star__/*}"
|
||||
execstr="${execstr}--include '$VROOTDIR/$vserver$str' "
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
### EXECUTE ###
|
||||
|
||||
# exclude everything else, start with root
|
||||
|
Loading…
Reference in New Issue
Block a user