diff --git a/env/BI_ENV.sam b/env/BI_ENV.sam index fb9ee9a..9a2b162 100644 --- a/env/BI_ENV.sam +++ b/env/BI_ENV.sam @@ -25,6 +25,10 @@ export LOGMAIL=superx@localhost MEM=2000M export MEM +export MAIL_BETREFF="BI Job" +export MAIL_BETREFF_SUFFIX_ERFOLGREICH=" - Erfolgreich" +export MAIL_BETREFF_SUFFIX_FEHLER=" - Fehler" + #Speziell für HISinOne-BI: QISSERVER_PFAD=$WEBAPP/../qisserver diff --git a/update/hisinone_bi_qisserver/modules_update.sh b/update/hisinone_bi_qisserver/modules_update.sh index 20361bb..cd90c9b 100755 --- a/update/hisinone_bi_qisserver/modules_update.sh +++ b/update/hisinone_bi_qisserver/modules_update.sh @@ -1,31 +1,10 @@ #!/bin/bash - -#BI Update Script (Muster, siehe ../../env/BI_ENV.sam) -#Benutzte Variablen: -#WEBAPP=/var/lib/tomcat9/webapps/superx -#Module Liste: -#Hier werden die zu verwendende Module aufgelistet. -#Nur den Modulnamen:ULR in Kleinbuchstaben, z.B.: -#export BI_UPDATE_MODULES="sos:trans_pruefungen_1_sospos sos:trans_pruefungen_2 sos:trans_pruefungen_3 sos gang" -#LOGPFAD=/var/log/tomcat9 -#Mailprogramm: -#export MAILPROG=s-nail - - -#Beispielaufruf: -#export BI_UPDATE_MODULES="sos gang" - -# #Variablen und Umgebung setzen: - MASTERLOG=$LOGPFAD/bi_update.log #erzeuge Logs Verzeichnis wenn es noch nicht existiert: mkdir -p $LOGPFAD -echo "Start BI-Jobs $BI_UPDATE_MODULES" >$MASTERLOG -date >>$MASTERLOG - ERROR_FLAG=0 ERROR_LOG="" @@ -37,48 +16,52 @@ executeUpdate() MODUL=$JOB MODUL_UPPER=`echo $MODUL | tr [a-z] [A-Z]` JOBLOG=$LOGPFAD/"$JOB"_update.log - echo "Start JOB $JOB " >>$MYMASTERLOG + echo "" >>$MYMASTERLOG + echo "--- Start Update für: $JOB ---" >>$MYMASTERLOG date >>$MYMASTERLOG echo java -Xmx${MEM} -cp "...CLASSPATH" -Dfile.encoding=UTF-8 de.his.edustore.modules.WebFrontendForModuleUpdate $JOB true '$SUPERX_DIR='$WEBAPP'/WEB-INF/conf/edustore $'$MODUL_UPPER'_LOAD_PFAD='$WEBAPP'/WEB-INF/conf/edustore/db/module/'$MODUL'/rohdaten $'$MODUL_UPPER'_PFAD='$WEBAPP'/WEB-INF/conf/edustore/db/module/'$MODUL >>$JOBLOG 2>&1 java -Xmx${MEM} -cp "$QIS_CLASSPATH" -Dfile.encoding=UTF-8 de.his.edustore.modules.WebFrontendForModuleUpdate $JOB true '$SUPERX_DIR='$WEBAPP'/WEB-INF/conf/edustore $'$MODUL_UPPER'_LOAD_PFAD='$WEBAPP'/WEB-INF/conf/edustore/db/module/'$MODUL'/rohdaten $'$MODUL_UPPER'_PFAD='$WEBAPP'/WEB-INF/conf/edustore/db/module/'$MODUL >>$JOBLOG 2>&1 RETURN_CODE=$? - echo "End Job $JOB with RETURN_CODE $RETURN_CODE" >>$MYMASTERLOG + echo "Returncode von dem Job des Moduls $JOB ist: $RETURN_CODE" >>$MYMASTERLOG date >>$MYMASTERLOG if [ $RETURN_CODE -eq 0 ] then - echo "End Job $JOB erfolgreich" >>$MYMASTERLOG + echo "--- Ende Update von $JOB: erfolgreich ---" >>$MYMASTERLOG else - echo "Job $JOB Fehler" >> $MYMASTERLOG + echo ">>>> Achtung: Das Update des Modules $JOB wurde mit einem Fehler beendet! <<<<" >> $MYMASTERLOG + echo "--- Ende des Updates vom Modul $JOB mit Fehler ---" >>$MYMASTERLOG ERROR_FLAG=1 ERROR_LOG+=" -a $JOBLOG" fi + echo "" >>$MYMASTERLOG } -#Updates: +# Schleife über Updates: +echo "Starte BI-Jobs für die Module: $BI_UPDATE_MODULES" >$MASTERLOG +date >>$MASTERLOG echo -e "######################################\n\n" >>$MASTERLOG for JOB_SINGLE in ${BI_UPDATE_MODULES[@]} ; do -echo "start bi_"$JOB_SINGLE"_update `date`" >>$MASTERLOG executeUpdate $JOB_SINGLE $LOGPFAD $MASTERLOG -echo "ende bi_"$JOB_SINGLE"_update `date`" >>$MASTERLOG done echo -e "\n\n######################################" >>$MASTERLOG echo -e "-- Ende BI update `date`\n\n" >>$MASTERLOG +# Mailversand if [ $ERROR_FLAG -eq 0 ] then if [ "$MAILPROG" != "" ] then - $MAILPROG -s "BI Job $JOB Erfolgreich" $LOGMAIL <$MYMASTERLOG + $MAILPROG -s "$MAIL_BETREFF$MAIL_BETREFF_SUFFIX_ERFOLGREICH" $LOGMAIL <$MYMASTERLOG fi else if [ "$MAILPROG" != "" ] then - echo "sending logmail to $LOGMAIL" - $MAILPROG -s "BI Job $JOB Fehler" $ERROR_LOG $LOGMAIL <$MYMASTERLOG + echo "Sende Logmail an $LOGMAIL" + $MAILPROG -s "$MAIL_BETREFF$MAIL_BETREFF_SUFFIX_FEHLER" $ERROR_LOG $LOGMAIL <$MYMASTERLOG fi fi