aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--handlers/rub39
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"