Skip to content
Snippets Groups Projects
Commit 22f728f7 authored by elijah's avatar elijah
Browse files

changes to support maildir

parent 0e6fd3be
No related branches found
No related tags found
No related merge requests found
......@@ -27,22 +27,24 @@ function setupcolors() {
RED="\033[31;01m"
OFF="\033[0m"
CYAN="\033[36;01m"
COLORS=($BLUE $GREEN $YELLOW $RED $PURPLE)
}
#function run() {
# RUNERROR=0
# debug 0 "$@"
# returnstring=`$@ 2>&1`
# RUNERROR=$?
# RUNERRORS=$[RUNERRORS+RUNERROR]
# if [ "$RUNERROR" != 0 ]; then
# debug 3 "Exitcode $RUNERROR returned when running: $@"
# debug 3 "$returnstring"
# else
# debug 0 "$returnstring"
# fi
# return $RUNERROR
#}
function colorize() {
if [ "$usecolor" == "yes" ]; then
local typestr=`echo "$@" | sed 's/\(^[^:]*\).*$/\1/'`
[ "$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"
else
echo -e "$@"
fi
}
# We have the following message levels:
# 0 - debug - blue
......@@ -60,34 +62,40 @@ usecolor=yes
function printmsg() {
[ ${#@} -gt 1 ] || return
types=(Debug Info Warning Error Fatal)
type=$1
print=$[4-type]
typestr=${types[$type]}
if [ "$usecolor" == "yes" ]; then
colors=($BLUE $GREEN $YELLOW $RED $PURPLE)
color=${colors[$type]}
endcolor=$OFF
fi
shift
if [ "$echo_debug_msg" != "0" -a "$type" -gt "1" ]; then
echo -e "$typestr: $@"
if [ $type == 100 ]; then
typestr=`echo "$@" | sed 's/\(^[^:]*\).*$/\1/'`
[ "$typestr" == "Debug" ] && type=0
[ "$typestr" == "Info" ] && type=1
[ "$typestr" == "Warning" ] && type=2
[ "$typestr" == "Error" ] && type=3
[ "$typestr" == "Fatal" ] && type=4
typestr=""
else
types=(Debug Info Warning Error Fatal)
typestr="${types[$type]}: "
fi
if [ "$debug" == 1 ]; then
echo -e "${color}$typestr: $@${endcolor}" >&2
print=$[4-type]
if [ $echo_debug_msg == 1 ]; then
echo -e "$typestr$@" >&2
elif [ $debug ]; then
colorize "$typestr$@" >&2
fi
if [ $print -lt $loglevel ]; then
if [ -w "$logfile" ]; then
echo -e "${color}$typestr: $@${endcolor}" >> $logfile
colorize "$typestr$@" >> $logfile
fi
fi
}
function passthru() {
printmsg 100 "$@"
}
function debug() {
printmsg 0 "$@"
}
......@@ -276,16 +284,29 @@ function process_action() {
fi
let "actions_run += 1"
echo_debug_msg=1
# call the handler:
ret=`( . $scriptdir/$suffix $file )`
retcode="$?"
_warnings=`echo $ret | grep "Warning: " | wc -l`
_errors=`echo $ret | grep "Error: " | wc -l`
_fatals=`echo $ret | grep "Fatal: " | wc -l`
local bufferfile="/tmp/backupninja.buffer.$$"
echo "" > $bufferfile
echo_debug_msg=1
(
. $scriptdir/$suffix $file
) 2>&1 | (
while read a; do
echo $a >> $bufferfile
[ $debug ] && colorize "$a"
done
)
retcode=$?
# ^^^^^^^^ we have a problem! we can't grab the return code "$?". grrr.
echo_debug_msg=0
_warnings=`cat $bufferfile | grep "^Warning: " | wc -l`
_errors=`cat $bufferfile | grep "^Error: " | wc -l`
_fatals=`cat $bufferfile | grep "^Fatal: " | wc -l`
ret=`grep "\(^Warning: \|^Error: \|^Fatal: \)" $bufferfile`
#rm $bufferfile
if [ $_fatals != 0 ]; then
msg "*failed* -- $file"
errormsg="$errormsg\n== failures from $file ==\n\n$ret\n"
......@@ -301,10 +322,9 @@ function process_action() {
msg "unknown -- $file"
fi
echo_debug_msg=0
let "fatals += _fatals"
let "errors += _errors"
let "warnings += _warnings"
let "warnings += _warnings"
}
#####################################################
......@@ -365,6 +385,7 @@ getconf MYSQL /usr/bin/mysql
getconf MYSQLHOTCOPY /usr/bin/mysqlhotcopy
getconf MYSQLDUMP /usr/bin/mysqldump
getconf GZIP /bin/gzip
getconf RSYNC /usr/bin/rsync
[ -d "$configdirectory" ] || fatal "Configuration directory '$configdirectory' not found."
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment