Improved Even Logger + check_result()

This commit is contained in:
Serghey Rodin 2015-10-21 15:01:32 +03:00
commit 941e01eadd

View file

@ -2,16 +2,6 @@
DATE=$(date +%F)
TIME=$(date +%T)
SCRIPT=$(basename $0)
A1=$1
A2=$2
A3=$3
A4=$4
A5=$5
A6=$6
A7=$7
A8=$8
A9=$9
EVENT="$DATE $TIME $SCRIPT $A1 $A2 $A3 $A4 $A5 $A6 $A7 $A8 $A9"
HOMEDIR='/home'
BACKUP='/backup'
BACKUP_GZIP=5
@ -51,6 +41,16 @@ E_RRD=18
E_UPDATE=19
E_RESTART=20
# Event string for logger
EVENT="$DATE $TIME $SCRIPT"
for ((I=1; I <= $# ; I++)); do
if [[ "$HIDE" != $I ]]; then
EVENT="$EVENT '$(eval echo \$${I})'"
else
EVENT="$EVENT '******'"
fi
done
# Log event function
log_event() {
if [ "$1" -eq 0 ]; then
@ -79,6 +79,20 @@ log_history() {
echo "ID='$id' DATE='$DATE' TIME='$TIME' CMD='$cmd' UNDO='$undo'" >> $log
}
# Result checker
check_result() {
if [ $1 -ne 0 ]; then
echo "Error: $2"
if [ ! -z "$3" ]; then
log_event $3 $EVENT
exit $3
else
log_event $1 $EVENT
exit $1
fi
fi
}
# Argument list checker
check_args() {
if [ "$1" -gt "$2" ]; then
@ -292,7 +306,7 @@ get_object_value() {
# Update object value
update_object_value() {
row=$(grep -n "$2='$3'" $USER_DATA/$1.conf)
row=$(grep -nF "$2='$3'" $USER_DATA/$1.conf)
lnr=$(echo $row | cut -f 1 -d ':')
object=$(echo $row | sed "s/^$lnr://")
eval "$object"