#!@BASH@
+# -*- mode: sh; sh-basic-offset: 3; indent-tabs-mode: nil; -*-
+#
# |\_
# B A C K U P N I N J A /()/
# `\|
#####################################################
## FUNCTIONS
-setupcolors () {
+function setupcolors () {
BLUE="\033[34;01m"
GREEN="\033[32;01m"
YELLOW="\033[33;01m"
RED="\033[31;01m"
OFF="\033[0m"
CYAN="\033[36;01m"
+ COLORS=($BLUE $GREEN $YELLOW $RED $PURPLE)
}
-colorize () {
+function colorize () {
if [ "$usecolors" == "yes" ]; then
local typestr=`echo "$@" | sed 's/\(^[^:]*\).*$/\1/'`
- [ "$typestr" == "Debug" ] && COLOR=$BLUE
- [ "$typestr" == "Info" ] && COLOR=$GREEN
- [ "$typestr" == "Warning" ] && COLOR=$YELLOW
- [ "$typestr" == "Error" ] && COLOR=$RED
- [ "$typestr" == "Fatal" ] && COLOR=$PURPLE
+ [ "$typestr" == "Debug" ] && type=0
+ [ "$typestr" == "Info" ] && type=1
+ [ "$typestr" == "Warning" ] && type=2
+ [ "$typestr" == "Error" ] && type=3
+ [ "$typestr" == "Fatal" ] && type=4
+ color=${COLORS[$type]}
endcolor=$OFF
- echo -e "$COLOR$@$endcolor"
+ echo -e "$color$@$endcolor"
else
echo -e "$@"
fi
# simple to integer function
function toint() {
- echo "$1" | tr [:alpha:] -d
+ echo "$1" | tr -d [:alpha:]
}
#
# include shared functions
. $libdirectory/tools
+. $libdirectory/vserver
setfile $conffile
getconf PGSQLDUMPALL /usr/bin/pg_dumpall
getconf GZIP /bin/gzip
getconf RSYNC /usr/bin/rsync
-getconf vservers no
-getconf VSERVERINFO /usr/sbin/vserver-info
-getconf VSERVER /usr/sbin/vserver
-getconf VROOTDIR `if [ -f "$VSERVERINFO" ]; then $VSERVERINFO info SYSINFO |grep vserver-Rootdir | awk '{print $2}'; fi`
+
+# initialize vservers support
+# (get config variables and check real vservers availability)
+init_vservers nodialog
if [ ! -d "$configdirectory" ]; then
echo "Configuration directory '$configdirectory' not found."
exit 1
fi
-if [ "$vservers" == "yes" -a ! -d "$VROOTDIR" ]; then
- echo "vservers option set in config, but $VROOTDIR is not a directory!"
- fatal "vservers option set in config, but $VROOTDIR is not a directory!"
-fi
-
## Process each configuration file
# by default, don't make files which are world or group readable.