mirror of
https://0xacab.org/liberate/backupninja.git
synced 2024-11-10 04:42:31 +01:00
changes to support maildir
This commit is contained in:
parent
0e6fd3befa
commit
22f728f7c5
99
backupninja
99
backupninja
@ -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."
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user