#!/bin/bash #+++++++++++++++++++++++++++++++++++++++++++++++++++ # eSales Media Backup Script # # Author: Benjamin Roth # Version: 18.0.3 #+++++++++++++++++++++++++++++++++++++++++++++++++++ ########################## # CONFIG SECTION # ########################## SCRIPT=${BASH_SOURCE[o]} SCRIPTPATH=`dirname $SCRIPT`/ INCLUDEPATH=${SCRIPTPATH}include/ CONFIGPATH=${SCRIPTPATH}jobs/ BACKUPPATH=${SCRIPTPATH}../backup/ ############################# # UTILITY FUNCTIONS # ############################# function progress() { echo -n " ..." #ps ax | awk '{ print $1 }' | grep -w $$ > /dev/null while true do echo -n "." sleep 3 done } function run() { val=$1 if [ -f ${CONFIGPATH}${val} -a ${val} != "skeletton" ] then echo "Analyzing job $val..." cat ${CONFIGPATH}${val} | while IFS=$'\r\n' read LINE do if [ "$LINE" = "" ] then continue else LINE=`echo $LINE | sed 's/^\s*\(.*\) *$/\1/'` if [ "`echo $LINE | grep "^\s*[a-zA-Z0-9_]*::.*"`" != "" ] then DRIVER=`echo $LINE | sed 's/^\s*\([a-zA-Z0-9_]*\)::.*$/\1/'` if [ -f ${INCLUDEPATH}driver_${DRIVER} ] then echo -en "\tStarting process $DRIVER" progress & PROGRESSPID=$! trap 'kill $PROGRESSPID &> /dev/null; exit 1' 2 15 # Load driver and execute msg=`. ${INCLUDEPATH}driver_${DRIVER} $LINE $BACKUPPATH $val` stat=$? kill $PROGRESSPID &> /dev/null if [ $stat -eq 0 ] then echo -n " OK" echo #echo -e "\t# ${msg}" else echo -n " ERROR" echo echo -e "\t# ${msg}" fi else echo -e "\tDriver $DRIVER not found. Check include dir for driver file." fi fi fi done echo "done" else if [ ${val} != "skeletton" ] then echo -e "\tConfig file $val not found." fi fi } ############### # RUN # ############### if [ $1 ] then run $1 else ls -1 $CONFIGPATH | while read val do run $val done fi