From 95ea71bfd169e3e84fdbd53c14ad6152b2895d3f Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Wed, 1 Nov 2006 21:50:26 +0000 Subject: [PATCH] Added rub handler fixes from rhatto --- ChangeLog | 6 ++++-- handlers/rub | 39 ++++++++++++++++++--------------------- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/ChangeLog b/ChangeLog index 203209a..6ff9cc5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,11 +7,13 @@ version 0.9.5 -- unreleased sys: . Fixed typo breaking things for VServers. . Fix bug when vrootdir is on its own partition (Closes: #395928) - rub - . Fixed typo in rub handler that caused it to not work . Better sfdisk error and output handling: should now properly warn when it does not manage to backup a partition table, and shut up when it succeeds (Closes: #396632) + rub + . Fixed typo in rub handler that caused it to not work + . Changed to use lib/vserver code + . Fixed fsck error pgsql: . Support configuring PGSQLUSER for real, and document it a bit; this broken support actually prevented pgsql handler to work for VServers diff --git a/handlers/rub b/handlers/rub index d2b4c44..e05b6fd 100644 --- a/handlers/rub +++ b/handlers/rub @@ -13,7 +13,7 @@ # [general] # log = rsync log file # partition = partition where the backup lives -# fsck = set to 1 if fsck should run on $partition after the backup is made +# fscheck = set to 1 if fsck should run on $partition after the backup is made # read_only = set to 1 if $partition is mounted read-only # mountpoint = backup partition mountpoint or backup main folder # backupdir = folder relative do $mountpoint where the backup should be stored @@ -40,7 +40,7 @@ # initscripts = absolute path where scripts are located # service = script name to be stoped at the begining of the backup and started at its end # -# You can also specify some system comands: +# You can also specify some system comands if you don't want the default system values: # # [system] # rm = rm command @@ -65,7 +65,7 @@ getconf fsck fsck setsection general getconf log /var/log/backupninja-rub.log getconf partition -getconf fsck +getconf fscheck getconf read_only getconf mountpoint getconf backupdir @@ -100,31 +100,29 @@ getconf service function rotate { - # TODO: force to an absolute path - if [[ "$2" < 4 ]]; then error "Rotate: minimum of 4 rotations" exit 1 fi if [ -d $1.$2 ]; then - $nice $mv $1.$2 $1.tmp + $nice $mv /$1.$2 /$1.tmp fi for ((n=`echo "$2 - 1" | bc`; n >= 0; n--)); do if [ -d $1.$n ]; then dest=`echo "$n + 1" | bc` - $nice $mv $1.$n $1.$dest - $touch $1.$dest + $nice $mv /$1.$n /$1.$dest + $touch /$1.$dest fi done if [ -d $1.tmp ]; then - $nice $mv $1.tmp $1.0 + $nice $mv /$1.tmp /$1.0 fi if [ -d $1.1 ]; then - $nice $cp -alf $1.1/. $1.0 + $nice $cp -alf /$1.1/. /$1.0 fi } @@ -257,18 +255,17 @@ if [ "$vservers_are_available" == "yes" ]; then mkdir -p $backupdir/$VROOTDIR chmod 000 $backupdir/$VROOTDIR - for candidate in `ls $VROOTDIR`; do + for candidate in $found_vservers; do + candidate="`basename $candidate`" found_excluded_vserver="0" - if [ "$candidate" != "lost+found" ]; then - for excluded_vserver in $exclude_vserver; do - if [ "$excluded_vserver" == "$candidate" ]; then - found_excluded_vserver="1" - break - fi - done - if [ "$found_excluded_vserver" == "0" ]; then - include="$include $VROOTDIR/$candidate" + for excluded_vserver in $exclude_vserver; do + if [ "$excluded_vserver" == "$candidate" ]; then + found_excluded_vserver="1" + break fi + done + if [ "$found_excluded_vserver" == "0" ]; then + include="$include $VROOTDIR/$candidate" fi done fi @@ -322,7 +319,7 @@ fi # check partition for errors -if [ "$fsck" == "1" ] || [ "$fsck" == "yes" ]; then +if [ "$fscheck" == "1" ] || [ "$fscheck" == "yes" ]; then umount $mountpoint if (($?)); then warning "Could not umount $mountpoint to run fsck" -- 2.30.2