X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fupstream%2Fbackupninja.git;a=blobdiff_plain;f=handlers%2Frub;h=bdd6e99d3f8cf343e49926215b2e8cf693ab5569;hp=d2b4c4460a8718c106e2014e931f3e57281adea4;hb=be75e4e6c536882c14db9a41c61585e7a9c045f6;hpb=d595bf00cbd1c13eb157edf8d29d4b8fa76220e2 diff --git a/handlers/rub b/handlers/rub index d2b4c44..bdd6e99 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 + if [[ "$2" -lt 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"