X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=handlers%2Fsys;h=677d5eee1b72ece94935c8e4fdf138b6a8fb88a9;hb=56c992661cec11bc5caf9511ba1e1d6384cebaa7;hp=a8c8771ff59e536f4c8ce0fbfab8eccda870713c;hpb=e6bf696c5abce63ef6fe59dbff115a6acd56ce77;p=matthijs%2Fupstream%2Fbackupninja.git diff --git a/handlers/sys b/handlers/sys index a8c8771..677d5ee 100755 --- a/handlers/sys +++ b/handlers/sys @@ -37,18 +37,19 @@ if [ $os = "debian" ] then getconf packagesfile /var/backups/dpkg-selections.txt getconf packagemgr `which dpkg` - getconf packagemgroptions " --get-selections" + getconf packagemgroptions ' --get-selections *' elif [ $os = "redhat" ] then getconf packagesfile /var/backups/rpmpackages.txt getconf packagemgr `which rpm` - getconf packagemgroptions " -qa " + getconf packagemgroptions ' -qa ' getconf SYSREPORT `which sysreport` - getconf sysreport_options " -norpm " + getconf sysreport_options ' -norpm ' else getconf packagesfile /var/backups/unknownOS.txt fi +packagemgroptions="${packagemgroptions//__star__/*}" getconf partitions yes getconf partitionsfile /var/backups/partitions.__star__.txt @@ -79,48 +80,41 @@ fi # if [ "$packages" == "yes" ]; then - if [ $usevserver = yes ] - then - nodpkg="lost+found|ARCHIVES" - info "vserver root directory set to: $VROOTDIR" - for vserver in $found_vservers - do - info "examining vserver: $vserver" - running=`$VSERVERINFO $vserver RUNNING` - if [ "$running" = "1" ]; then - if [ ! -x "$VROOTDIR/$vserver`$VSERVER $vserver exec which $packagemgr`" ]; then - warning "can't find $packagemgr 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 [ -z "$packagemgr" -o ! -x "$packagemgr" ]; then - warning "can't find ${packagemgr}, skipping installed packages report." - packages="no" - fi - fi -fi -if [ "$packages" == "yes" ]; then - if [ $usevserver = yes ] - then - for vserver in `ls $VROOTDIR | grep -E -v $nodpkg` - do + if [ $usevserver = yes ]; then + info "vserver root directory set to: $VROOTDIR" + for vserver in $found_vservers; do + info "examining vserver: $vserver" + # is it running ? + $VSERVERINFO -q $vserver RUNNING + if [ $? -ne 0 ]; then + warning "The vserver $vserver is not running." + continue + fi + # is $packagemgr available inside $vserver ? + if [ ! -x "$VROOTDIR/$vserver`$VSERVER $vserver exec which $packagemgr`" ]; then + warning "can't find $packagemgr in vserver $vserver, skipping installed packages report." + continue + fi + # don't expand * since it can be used in $packagemgroptions + set -o noglob debug "$VSERVER $vserver exec $packagemgr $packagemgroptions > $VROOTDIR/$vserver$packagesfile" $VSERVER $vserver exec $packagemgr $packagemgroptions > $VROOTDIR/$vserver$packagesfile || fatal "can not save $packagemgr info to $packagesfile" + set +o noglob done fi -# We want to perform this on the host as well - if [ "$packages" == "yes" ]; then + # We want to perform this on the host as well + if [ -z "$packagemgr" -o ! -x "$packagemgr" ]; then + warning "can't find ${packagemgr}, skipping installed packages report." + else + # don't expand * since it can be used in $packagemgroptions + set -o noglob debug "$packagemgr $packagemgroptions > $packagesfile" $packagemgr $packagemgroptions > $packagesfile || fatal "can not save $packagemgr info to $packagesfile" + set +o noglob fi + fi ## System report ############################## @@ -285,7 +279,7 @@ catiffile "/proc/stat" STATUS="Gathering information about your partitions:" catiffile "/proc/partitions" -STATUS="Gathering information about your ksysms:" +STATUS="Gathering information about your ksyms:" catiffile "/proc/ksyms" STATUS="Gathering information about slabinfo:"