aboutsummaryrefslogtreecommitdiff
path: root/handlers/sys
diff options
context:
space:
mode:
authorMicah Anderson <micah@riseup.net>2005-05-24 19:27:43 +0000
committerMicah Anderson <micah@riseup.net>2005-05-24 19:27:43 +0000
commit1e410a6d9574c56b7d3a3633b82220eacf782d06 (patch)
treefd66e45778a58f6823e86d5ad1e1dfab8e2dad92 /handlers/sys
parent4f36863c09ad4e3c2613531873292e0e5c1250a2 (diff)
downloadbackupninja-1e410a6d9574c56b7d3a3633b82220eacf782d06.tar.gz
backupninja-1e410a6d9574c56b7d3a3633b82220eacf782d06.tar.bz2
Updates to handle vservers
Diffstat (limited to 'handlers/sys')
-rwxr-xr-xhandlers/sys48
1 files changed, 45 insertions, 3 deletions
diff --git a/handlers/sys b/handlers/sys
index fe780b5..f111097 100755
--- a/handlers/sys
+++ b/handlers/sys
@@ -26,10 +26,40 @@ getconf partitionsfile /var/backups/partitions.__star__.txt
getconf hardware yes
getconf hardwarefile /var/backups/hardware.txt
+# See if vservers are configured
+if [ "$VSERVERS" = "yes" ]
+then
+ if [ ! -d $VROOTDIR ]
+ then
+ fatal "vservers enabled, but $VROOTDIR does not exist!"
+ else
+ info "vserver method enabled"
+ usevserver=1
+ fi
+fi
+
if [ "$packages" == "yes" ]; then
- if [ ! -x "`which dpkg`" ]; then
- warning "can't find dpkg, skipping installed packages report."
- packages="no"
+ if [ $usevserver ]
+ then
+ for vserver in `ls $VROOTDIR |grep -v lost+found`
+ do
+ running=`vserver-info $vserver RUNNING`
+ if [ $running = 1]; then
+ if [ ! -x "`$VSERVER $vserver exec which dpkg`" ]; then
+ warning "can't find dpkg in vserver $vserver, skipping installed packages report."
+ nodpkg="$nodpkg $vserver"
+ fi
+ else
+ warning "vserver $vserver is not running, skipping installed packages report."
+ nodpkg="$nodpkg $vserver"
+ fi
+
+ done
+ else
+ if [ ! -x "`which dpkg`" ]; then
+ warning "can't find dpkg, skipping installed packages report."
+ packages="no"
+ fi
fi
fi
@@ -57,10 +87,22 @@ fi
# here we grab a list of the packages installed and removed.
#
+if [ $usevserver ]
+then
+ for vserver in `ls $VROOTDIR | grep -v $nodpkg | grep -v lost+found`
+ do
+ debug "$VSERVER $vserver exec dpkg --get-selections > $VROOTDIR/$vserver$packagesfile"
+ $VSERVER $vserver exec dpkg --get-selections > $VROOTDIR/$vserver$packagesfile
+ done
+fi
+
+# We want to perform this on the host as well
if [ "$packages" == "yes" ]; then
+ debug "dpkg --get-selections > $packagesfile"
dpkg --get-selections > $packagesfile
fi
+
## PARTITIONS #############################
# here we use sfdisk to dump a listing of all the partitions.