X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fupstream%2Fbackupninja.git;a=blobdiff_plain;f=handlers%2Frub;h=bdd6e99d3f8cf343e49926215b2e8cf693ab5569;hp=c68dee806b8c438d5d519d24da8a1271c1f0bf60;hb=b6c7437f4b78b7b406d22629b95ccc7d111184d9;hpb=4ceb4f15c23d53cfe3c25c4e96f667970c7552d0 diff --git a/handlers/rub b/handlers/rub index c68dee8..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 } @@ -204,7 +202,7 @@ if [ "$from" == "remote" ]; then rsync_remote_options="$rsync_remote_options --compress" fi - fi [ ! -z "$bandwidthlimit" ]; then + if [ ! -z "$bandwidthlimit" ]; then rsync_remote_options="$rsync_remote_options --bwlimit=$bandwidthlimit" 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"