danielg1974
Goto Top

BASH-Skript in Linux - Mailversand funktioniert nicht

Hallo.

Gleich vorweg:
Ich habe keine Ahnung von BASH- oder BATCH-Skripten.
Ich such mir hier und da was zusammen und passe es an.

Aus einem Backup-Skript habe ich mir einen Teil herausgenommen.
Damit soll ein Integritätstest der Datenbank gemacht werden.
Der Test läuft und eine Log-Datei wird geschrieben.
Allerdings wird keine Mail wie im Backup-Skript verschickt.
Aber das wäre notwendig.

Könnte sich das jemand bitte anschauen?
Ist dort eine Variable (vermutlich X) nicht richtig gesetzt oder übermittelt keinen Wert?
Den Ersteller (einer meiner Vorgänger) kann ich nicht mehr erreichen und mein Kollege meinte auch:
Selbst wenn ich ihn erreichen würde, wäre es ihm egal und er würde nicht helfen.

Backup-Skript:

#!/bin/bash
# (c) 2011 xxx
# Backupscript
# ---------------------------------------------------------------------------------
# Deklarationsteil
# ---------------------------------------------------------------------------------
# Datenbank Integritaetstest / Reorganisation durchfuehren?
# Hierdurch wird die Integritaet der Datenbank gebrueft und die Transaktionsnummern
# werden zurueckgesetzt, anschliessend wird die Datenbank reorganisiert.
# ACHTUNG Hierdurch verlaengert sich die Dauer des Backups erheblich!!!
# <N> oder <J>
INTEG=N
# Max. Anzahl an Sicherungen (immer Vollbackup)
# wenn MAX = 0 dann taegliche Sicherung mit Datum
# wenn MAX = n (n = ganze Zahl) dann n Anzahl an Sicherung, wenn n erreicht, wird Sicherung 1 ueberschrieben
# wenn MAX = 1 dann Generationensicherung
MAX=1
# Sohn: Montags - Donnerstags (Mo_backup, Di_backup, Mi_backup, Do_backup) MAXIMAL 4
# Vater (Fr. Wochensicherung) (FR_1_backup, Fr_2_backup, Fr_3_backup, Fr_4_backup, Fr_5_backup) MAXIMAL 5
# Gro¦vater (Sa. Monatssicherung (JAN, FEB, MAR, APR, MAI, JUN, JUL, AUG, SEP, OKT, NOV, DEZ) MAXIMAL 12
# Hauptverzeichnis fuer Backup-Ziel
BACKUPDIR=/backup
# Datenbank-Kopie speichern in
BACKUPBRUNIE="/backup/brunie"  
# Unterverzeichnis fuer Archive / Backups
BACKUPTAR="/backup/archiv"  
# Zu sichernde Verzeichnisse
BACKUP="$BACKUPBRUNIE"               # Verzeichnis von Datenbank-Kopie, welche zum Zeitpunkt der Sicherung erstellt wird  
BACKUP[1]=/usr/gtm                              # Datenbank Routinen Verzeichnis
BACKUP[2]=/srv/brunie
# Dateiname der Sicherung
BACKUPN=brunie
BACKUPN[1]=gtm
BACKUPN[2]=srv-brunie
# Email Adresse fuer Log
# wenn EMAIL=root oder CCEMAIL=root dann an lokalen root-Account
# Sicherung bei/von COMPANY
EMAIL="x@x.de"  
COMPANY="Kundenname"  
###### Nach Sicherung BACKUP auf anderen Ort verschieben ? ######
# MOVEBACKUP=J -> verschieben MOVEBACKUP=N -> nicht verschieben
MOVEBACKUP=N
# Entfernter Ort fuer das Backup
MOUNTPOINT=/mnt/nas                                                     # muss lokal vorhanden sein!!!
MOUNTSOURCE=//x.x.x.x/backup/brunie                      # entfernte Freigabe
MOUNTUSER=admin                                                 # Domaene/Benutzer
MOUNTPW=bru#22+nie001                                                           # Passwort
###################################################################################
######################## !!!AB HIER NICHTS MEHR AENDERN!!! ########################
###################################################################################
# GT.M starten
GTMSTART="/etc/init.d/brunie start"  
# GT.M stoppen
GTMSTOP="/etc/init.d/brunie stop"  
# Zeitstempel
DATE=`date +"%F"`                                               # Datum: 2011-01-07  
WT=`date +"%a"`                                                 # Wochentagname: Fr  
TIM=`date +"%d"`                                                # Tag im Monat: 07  
TNW=`date -d "next Week" +"%d" `                # Tag naechste Woche: 14  
MHEUTE=`date +"%m"`                                             # Monat heute  
MNW=`date -d "next Week" +"%m" `                # Monat naechste Woche  
MONHEUTE=`date +"%b"`                                   # Monatsname Heute  
# Log Datei
LOGFILE=backup_protokoll
LOGEXT=log
LOGDIR=/backup/log
LOG=$LOGDIR/$LOGFILE"."$LOGEXT  
LOGDIRARCHIV=$LOGDIR/tmp
LOGA=$LOGFILE"_"$DATE"."$LOGEXT  
LOGARCHIV=$LOGDIRARCHIV/$LOGA
LOGCNT=$LOGDIR/cnt.log
LOGFR=$LOGDIR/frcnt.log
LOGMONAT=$LOGDIR/monat.log
# Trennlinie in Datei
TR="---------------------------------------------"  
# ---------------------------------------------------------------------------------
# ENDE Deklarationsteil
# ---------------------------------------------------------------------------------
###################################################################################
################### !!!PRUEFUNG OB VERZECIHNISSE VORHANDEN!!! ###################
###################################################################################
if [ ! -d $MOUNTPOINT ]; then mkdir -p $MOUNTPOINT; fi
if [ ! -d $LOGDIR ]; then mkdir -p $LOGDIR; fi
if [ ! -d $LOGDIRARCHIV ]; then mkdir -p $LOGDIRARCHIV; fi
if [ ! -d $BACKUPDIR ]; then mkdir -p $BACKUPDIR; fi
if [ ! -d $BACKUPBRUNIE ]; then mkdir -p $BACKUPBRUNIE; fi
if [ ! -d $BACKUPTAR ]; then mkdir -p $BACKUPTAR; fi
if [ -f $LOG ]; then rm -f $LOG; touch $LOG; else touch $LOG; fi
if [ ! -f $LOGCNT ]; then touch $LOGCNT; let I=1; echo $I > $LOGCNT; fi
if [ ! -f $LOGFR ]; then touch $LOGFR; let I=0; echo $I > $LOGFR; fi
if [ ! -f $LOGMONAT ]; then touch $LOGMONAT; echo $MHEUTE > $LOGMONAT; fi
###################################################################################
######################### !!!BESTIMMEN DER BACKUP-Art/Name!!! ########################
###################################################################################
# wenn MAX > 1 dann mit aktuellem I
# wenn MAX = 0 dann mit Datum
# wenn MAX = 1 dann Generationen
if [ "$MAX" -eq 0 ]; then                                                               # taegliche Sicherung  
     for ((i=0;i<${#BACKUP[@]};i++));                                        # Fuer Anzahl Backups im Array
     do
             BACKUPN[$i]=${BACKUPN[$i]}"_"$DATE".tgz"        # Setze Backupname mit Datum  
     done
fi
if [ "$MAX" -gt 1 ]; then                                               # ueberschreibende Sicherung  
    CNT=`cat $LOGCNT`                                               # Ermittle welche Nummer
     X=$CNT
     if [ "$X" -ge $MAX ]; then                                      # Wenn Zaehler groe¦er MAX  
             let X=1                                                 # Setze Zaehler auf 1
             echo $X > $LOGCNT
     else
             let X=$X+1                                              # ansonsten Addiere Zaehler um 1
             echo $X > $LOGCNT
     fi
     for ((i=0;i<${#BACKUP[@]};i++));                                # Fuer Anzahl Backups im Array
     do
             BACKUPN[$i]=${BACKUPN[$i]}"_"$X".tgz"                   # Setze Backupnamen mit Nummer  
     done
fi
if [ "$MAX" -eq 1 ]; then                                               # Generationssicherung  
     case "$WT" in  
             Mo|Di|Mi|Do|Mon|Tue|Wed|Thu)                                            # Kind Sicherung Max 4 Stueck
                   for ((i=0;i<${#BACKUP[@]};i++));                        # Fuer Anzahl Backups im Array
                     do
                             BACKUPN[$i]=$WT"_"${BACKUPN[$i]}".tgz"  # Setze Wochentag+Backupnamen  
                     done
             ;;
             Fr|Fri)                                                 # Freitags Wochensicherung
                     MON=`cat $LOGMONAT`                             # welcher Monat?
                     if [ "$MON" == "$MHEUTE" ]; then                # wenn Monat aktueller Monat  
                             CNT=`cat $LOGFR`
                             FR=$CNT                                 # Ermittle Zaehler
                             let FR=$FR+1                            # Setze Zaehler um 1 hoeher
                             echo $FR > $LOGFR
                     else                                            # ansonsten neuer Monat
                             echo $MHEUTE > $LOGMONAT                # Setze Monat auf aktuellen Monat
                             let FR=1                                # Setze Freitagszaehler auf 1
                             echo $FR > $LOGFR
                     fi
                     for ((i=0;i<${#BACKUP[@]};i++));                # Fuer Anzahl Backups im Array
                     do
                             BACKUPN[$i]=$WT"_"$FR"_"${BACKUPN[$i]}".tgz"  
                     done
             ;;
             Sa|Sat)                                                 # Samstags Sicherung am Monatsende
                     if [ "$TIM" -gt "$TNW" ]; then                  # Wenn heute > naechste Woche Samstag  
                             for ((i=0;i<${#BACKUP[@]};i++));
                             do
                                     BACKUPN[$i]=$MONHEUTE"_"${BACKUPN[$i]}".tgz"  
                             done
                     else
                             exit 0
                     fi
             ;;
             *)                                                      # alle anderen Wochentage exit
                     exit 0
             ;;
     esac
 fi
###################################################################################
###################              !!! FUNKTIONEN !!!             ###################
###################################################################################
# FUNKTION MAILLOG -> mailt LOG an $EMAIL
function maillog ()
 {
     OK=""  
     OK=$1
     if [ "$OK" == "V" ]; then  
             mutt -a "$LOG" -s "$COMPANY Sicherung abgeschlossen" -i "$LOG" -- $EMAIL </dev/null  
     else
             mutt -a "$LOG" -s "$COMPANY Achtung: Sicherung fehlgeschlagen" -i "$LOG" -- $EMAIL </dev/null  
     fi
 }
# FUNKTION TR -> fuegt $TR in LOG ein
function tr ()
 {
 echo $TR >> $LOG 2>&1
 }
# FUNKTION MUMPS -> Variable mumps mit Anzahl mumps Prozesse
function mumps ()
 {
 mumps=`ps -fe|grep [m]umps|wc -l`
 }
# FUNKTIION LOG -> fuegt $1 in LOG ein
function log ()
 {
 if [ "$1" != "" ]; then  
     echo $1" "`date +"%F %X"` >> $LOG 2>&1  
     echo " " >> $LOG 2>&1  
 else
     echo " " >> $LOG 2>&1  
 fi
 }
###################################################################################
###################              !!!   BACKUP   !!!             ###################
###################################################################################
# BACKUP START, WENN BACKUPVERZEICHNISSE VORHANDEN
if [ ! -d $BACKUPDIR ]; then log "KEIN BACKUPVERZEICHNIS VORHANDEN!!!!"; maillog X; exit 0; fi  
if [ ! -d $BACKUPBRUNIE ]; then log "KEIN VERZEICHNIS FUER DATENBANK-KOPIE VORHANDEN!!!!"; maillog X; exit 0; fi  
if [ ! -d $BACKUPTAR ]; then log "KEIN VERZEICHNIS FUER ARCHIVE VORHANDEN!!!!"; maillog X; exit 0; fi  
tr; log "Backup "$X" vom "; tr  
# Pruefen ob BRUNIE installiert, ansonsten Abbruch
# Pruefen ob Datenbank lauft, ansonsten Abbruch
if [ ! -f /etc/init.d/brunie ]; then
  log "KEIN BRUNIE VORHANDEN!!!"  
  log "Installation pruefen!"  
  maillog X
  exit 0
else
 mumps
     if [ $mumps -gt "0" ]; then  
         log "Datenbank heruntergefahren:"  
         log
         $GTMSTOP >> $LOG 2>&1
         tr
     else
         log "Datenbank laeuft nicht!"  
             log "Bitte Installation uberpruefen!"  
         log "Abbruch des Backups:"  
         tr
         maillog X
         exit 0
     fi
fi
# Integrationstest fuer alle *.dat
# Transaktionsnummern zuruecksetzten fuer alle *.dat
if [ "$INTEG" = "J" ] ; then  
  gtm_dist="/usr/gtm"  
  export gtm_dist
  log "INTEG Pruefung: "  
  tr
  uci=""  
  vz=`pwd`
  cd /brunie
  for uci in `ls *.dat`; do
             log "INTEG fuer: $uci "  
             /usr/gtm/mupip INTEG -FAST /brunie/$uci >> $LOG 2>&1
             /usr/gtm/mupip INTEG -TN_RESET /brunie/$uci >> $LOG 2>&1
             /usr/gtm/mupip REORG /brunie/$uci >> $LOG 2>&1
             tr
  done
  cd $vz
fi
#Datenbank kopieren
log "Datenbank kopieren:"  
rm -Rf $BACKUPBRUNIE/*
cp -aR -pR /brunie/* $BACKUPBRUNIE >> $LOG >/dev/null 2>&1
log "Datenbank kopiert nach $BACKUPBRUNIE :"  
tr
#
# Testdatenbanken anlegen?
#
# Datenbank wieder starten
log "Datenbank starten:"; $GTMSTART >> $LOG 2>&1; tr  
# Pruefen ob nach Datenbankstart Prozesse vorhanden sind, ansonsten Abbruch
mumps
if [ $mumps -le "0" ]; then  
     log "Datenbank nicht gestartet!"  
     log "Abbruch des Backups:"  
     tr
     maillog X
     exit 0
fi
# Pruefen welche Sicherungsart und ob Sicherungen vorhanden sind
# Archiv-Dateien (Tarballs) erstellen
for ((i=0;i<${#BACKUP[@]};i++));
     do
     log "Backup "${BACKUPN[$i]}" erstellen:"  
     tar czf $BACKUPTAR/${BACKUPN[$i]} ${BACKUP[$i]} >> $LOG 2>&1
     tr
done
# Wenn Verschiebung auf entfernte Ort gewuenscht,
# entferntes Verzeichnis einhaengen, verschieben, und aushaengen
# ansonsten echo in LOG schreiben
if [ "$MOVEBACKUP" == "J" ]; then  
     log "Einhaengen des entfernten Sicherungsortes:"  
     mount -t cifs -o username="$MOUNTUSER",password="$MOUNTPW",gid=0,uid=0,file_mode=0777,dir_mode=0777 "$MOUNTSOURCE" "$MOUNTPOINT" >> $LOG 2>&1  
     OK=`echo $?`
     if [ "$OK" -gt 0 ]; then  
             log "ACHTUNG:"  
             log "Das einhaengen des entfernten Sicherungsortes hat nicht funktioniert!"  
             log "Bitte Mount pruefen!"  
             tr
             maillog X
             exit 0
     else
             for ((i=0;i<${#BACKUP[@]};i++));
             do
                     log "Verschiebe Backup "${BACKUPN[$i]}"  nach $MOUNTPOINT"  
                     mv -f $BACKUPTAR/${BACKUPN[$i]} $MOUNTPOINT >> $LOG 2>&1
                     tr
             done
     fi
     log "Aushaengen des entfernten Sicherungsortes: "  
     umount $MOUNTPOINT >> $LOG 2>&1
else
     log "Datenbanksicherung erstellt unter $BACKUPDIR/brunie"  
     log "Archive erstellt unter $BACKUPTAR" >> $LOG 2>&1  
     log "Folgende Archive erstellt:" >> $LOG 2>&1  
     for ((i=0;i<${#BACKUP[@]};i++));
     do
             echo $BACKUPTAR/${BACKUPN[$i]} >> $LOG 2>&1
     done
     tr
     log "Inhalt von $BACKUPTAR" >> $LOG 2>&1  
     ls -1 $BACKUPTAR >> $LOG 2>&1
     tr
fi
# Sicherung abschliessen
log "Sicherung abgeschlossen: "; tr; maillog V  
# Zusaetzlich durchfuehren
# Print Files loeschen
# rm -f /tmp/BRUNIE_Print_File*
rm -f /tmp/gtm_mutex*
#Ende des Scripts
cp $LOG $LOGARCHIV
exit 0

Zum Integritätstest umgebaut:


#!/bin/bash
# (c) 2018 xxx
# INTEG-script
INTEG=J
EMAIL="x@x.de"  
COMPANY="CentOS Test Server 208"  
# GT.M starten
GTMSTART="/etc/init.d/brunie start"  
# GT.M stoppen
GTMSTOP="/etc/init.d/brunie stop"  
# Zeitstempel
DATE=`date +"%F"`                                               # Datum: 2011-01-07  
WT=`date +"%a"`                                                 # Wochentagname: Fr  
TIM=`date +"%d"`                                                # Tag im Monat: 07  
TNW=`date -d "next Week" +"%d" `                # Tag naechste Woche: 14  
MHEUTE=`date +"%m"`                                             # Monat heute  
MNW=`date -d "next Week" +"%m" `                # Monat naechste Woche  
MONHEUTE=`date +"%b"`                                   # Monatsname Heute  
# Log Datei
LOGFILE=integ_protokoll
LOGEXT=log
LOGDIR=/brunie/log
LOG=$LOGDIR/$LOGFILE"."$LOGEXT  
LOGDIRARCHIV=$LOGDIR/tmp
LOGA=$LOGFILE"_"$DATE"."$LOGEXT  
LOGARCHIV=$LOGDIRARCHIV/$LOGA
LOGCNT=$LOGDIR/cnt.log
LOGFR=$LOGDIR/frcnt.log
LOGMONAT=$LOGDIR/monat.log
# Trennlinie in Datei
TR="---------------------------------------------"  
###################################################################################
################### !!!PRUEFUNG OB VERZECIHNISSE VORHANDEN!!! ###################
###################################################################################
if [ ! -d $LOGDIR ]; then mkdir -p $LOGDIR; fi
if [ ! -d $LOGDIRARCHIV ]; then mkdir -p $LOGDIRARCHIV; fi
if [ -f $LOG ]; then rm -f $LOG; touch $LOG; else touch $LOG; fi
if [ ! -f $LOGCNT ]; then touch $LOGCNT; let I=1; echo $I > $LOGCNT; fi
if [ ! -f $LOGFR ]; then touch $LOGFR; let I=0; echo $I > $LOGFR; fi
if [ ! -f $LOGMONAT ]; then touch $LOGMONAT; echo $MHEUTE > $LOGMONAT; fi
###################################################################################
###################              !!! FUNKTIONEN !!!             ###################
###################################################################################
# FUNKTION MAILLOG -> mailt LOG an $EMAIL
function maillog ()
 {
     OK=""  
     OK=$1
     if [ "$OK" == "V" ]; then  
             mutt -a "$LOG" -s "$COMPANY INTEG-Test abgeschlossen" -i "$LOG" -- $EMAIL </dev/null  
     else
             mutt -a "$LOG" -s "$COMPANY Achtung: INTEG-Test fehlgeschlagen" -i "$LOG" -- $EMAIL </dev/null  
     fi
 }
# FUNKTION TR -> fuegt $TR in LOG ein
function tr ()
 {
 echo $TR >> $LOG 2>&1
 }
# FUNKTION MUMPS -> Variable mumps mit Anzahl mumps Prozesse
function mumps ()
 {
 mumps=`ps -fe|grep [m]umps|wc -l`
 }
# FUNKTION LOG -> fuegt $1 in LOG ein
function log ()
 {
 if [ "$1" != "" ]; then  
     echo $1" "`date +"%F %X"` >> $LOG 2>&1  
     echo " " >> $LOG 2>&1  
 else
     echo " " >> $LOG 2>&1  
 fi
 }
# Pruefen ob BRUNIE installiert ist, ansonsten Abbruch
# Pruefen ob Datenbank laeuft, ansonsten Abbruch
if [ ! -f /etc/init.d/brunie ]; then
  log "KEIN BRUNIE VORHANDEN!!!"  
  log "Installation pruefen!"  
  maillog X
  exit 0
else
 mumps
     if [ $mumps -gt "0" ]; then  
         log "Datenbank heruntergefahren:"  
         log
         $GTMSTOP >> $LOG 2>&1
         tr
     else
         log "Datenbank laeuft nicht!"  
             log "Bitte Installation uberpruefen!"  
         log "Abbruch des INTEG-Testes:"  
         tr
         maillog X
         exit 0
     fi
fi
# Integrationstest fuer alle *.dat
# Transaktionsnummern zuruecksetzten fuer alle *.dat
if [ "$INTEG" = "J" ] ; then  
  gtm_dist="/usr/gtm"  
  export gtm_dist
  log "INTEG Pruefung: "  
  tr
  uci=""  
  vz=`pwd`
  cd /brunie
  for uci in `ls *.dat`; do
             log "INTEG fuer: $uci "  
             /usr/gtm/mupip INTEG -FAST /brunie/$uci >> $LOG 2>&1
             /usr/gtm/mupip INTEG -TN_RESET /brunie/$uci >> $LOG 2>&1
             /usr/gtm/mupip REORG /brunie/$uci >> $LOG 2>&1
             tr
  done
  cd $vz
fi
# Datenbank wieder starten
log "Datenbank starten:"; $GTMSTART >> $LOG 2>&1; tr  
# Pruefen ob nach Datenbankstart Prozesse vorhanden sind, ansonsten Abbruch
mumps
if [ $mumps -le "0" ]; then  
     log "Datenbank nicht gestartet!"  
     log "Abbruch des INTEG-Testes:"  
     tr
     maillog X
     exit 0
fi
#Ende des Scripts
cp $LOG $LOGARCHIV
exit 0


Bin ich blind? Oder wo liegt der Fehler?

Gruß Daniel

Content-Key: 390482

Url: https://administrator.de/contentid/390482

Printed on: April 20, 2024 at 15:04 o'clock

Member: Lochkartenstanzer
Lochkartenstanzer Oct 24, 2018 at 09:41:49 (UTC)
Goto Top
Moin,

Bitte nutze Code-Tags und kürze Deinen Code auf das wesentliche, damit man sich nicht durch alles wühlen muß, sondern nur durch die fragliche Stelle.

lks
Member: DanielG1974
DanielG1974 Oct 24, 2018 at 09:44:44 (UTC)
Goto Top
Zitat von @Lochkartenstanzer:

Moin,

Bitte nutze Code-Tags und kürze Deinen Code auf das wesentliche, damit man sich nicht durch alles wühlen muß, sondern nur durch die fragliche Stelle.

lks

War gerade noch dabei den Text umzuformatieren.
Code weglassen?
Ich wurde hier schon einmal belehrt nicht Teile des Codes wegzulassen, da man sonst den Zusammenhang nicht erkennen würde....
Wie denn nun???

Gruß Daniel
Member: Lochkartenstanzer
Lochkartenstanzer Oct 24, 2018 at 09:51:37 (UTC)
Goto Top
Zitat von @DanielG1974:

War gerade noch dabei den Text umzuformatieren.

o.k.

Code weglassen?
Ich wurde hier schon einmal belehrt nicht Teile des Codes wegzulassen, da man sonst den Zusammenhang nicht erkennen würde....
Wie denn nun???

Maßvoll kürzen. Es sollten soviel Code wie nötig, aber so wenig Code wie möglich gepostet werden. Wenn man erst eingie hundert Zeilen Code druchblättern muß, hält das Leute wie mich z.B. davon ab sich da reinzuarbeiten. Aber nur die (vermeintlich) betroffen Zeile allein zu posten hilft natürlich auch nciht weiter, wenn der Fehler eine Zeile davor oder danach steckt.

Also scheun, ob Du ein passenden mittelmaß findest.

lks
Member: aqui
aqui Oct 24, 2018 at 09:53:46 (UTC)
Goto Top
Sinnvoller wäre es auch in der Rubrik Batch & Shell hier aufgehoben damit die Gurus es auch lesen.
(Kannst du selbst verschieben)
Member: DanielG1974
DanielG1974 Oct 24, 2018 at 10:08:40 (UTC)
Goto Top
Zitat von @aqui:

Sinnvoller wäre es auch in der Rubrik Batch & Shell hier aufgehoben damit die Gurus es auch lesen.
(Kannst du selbst verschieben)

Verschoben habe ich es.
Verringern kann ich den Code-Text wohl nicht mehr.
Wollte die ganzen Kommentare herausnehmen.
Da sagt er, mehr als 23,68 % Änderungen. Geht nicht oder an einen Moderator wenden.

Gruß Daniel
Member: Kraemer
Kraemer Oct 24, 2018 updated at 10:50:39 (UTC)
Goto Top
Moin,

wenn ich das auf die Schnelle richtig überflogen habe, verschickt das Script nur im Fehlerfall eine Mail.
Du musst da noch ein
maillog V
einbauen.

Gruß
Member: Lochkartenstanzer
Lochkartenstanzer Oct 24, 2018 at 10:52:17 (UTC)
Goto Top
Zitat von @Kraemer:

Moin,

wenn ich das auf die Schnelle richtig überflogen habe, verschickt das Script nur im Fehlerfall eine Mail.
Du musst da noch ein
maillog V
einbauen.

Stimmt. es wird immer nur maillog X aufgerufen. ist mri vorhin zwar aufgefallen, aber habe mir nichts dabei gedacht. Ich dachte der TO will es so. face-smile

lks
Member: DanielG1974
DanielG1974 Oct 24, 2018 at 12:09:10 (UTC)
Goto Top
Zitat von @Kraemer:

Moin,

wenn ich das auf die Schnelle richtig überflogen habe, verschickt das Script nur im Fehlerfall eine Mail.
Du musst da noch ein
maillog V
einbauen.

Gruß

Wäre das dann anstatt "maillog X"? Oder zusätzlich?
Aktuell habe ich eine Zeile angehängt, in der auf jeden Fall eine Mail verschickt wird.
Besser wäre natürlich mit einer Auswertung ala "INTEG-Test fehlgeschlagen" oder "INTEG-Test hat Fehler gefunden".
So muss der Kunde nun jedes Log selbst anschauen.

Gruß Daniel
Member: Kraemer
Solution Kraemer Oct 24, 2018 at 13:50:48 (UTC)
Goto Top
Nach meinem Verständnis nach dem #Ende des Scripts ein

log "Überprüfung abgeschlossen: "; tr; maillog V  
Member: DanielG1974
DanielG1974 Oct 24, 2018 at 14:15:33 (UTC)
Goto Top
Zitat von @Kraemer:

Nach meinem Verständnis nach dem #Ende des Scripts ein

log "Überprüfung abgeschlossen: "; tr; maillog V  

Danke vielmals! Das war es.
Woran hast Du erkannt, dass da ein "V" hin muss?`

Gruß Daniel
Member: Kraemer
Kraemer Oct 24, 2018 at 14:22:28 (UTC)
Goto Top
function maillog ()
{
OK=""
OK=$1
if [ "$OK" == "V" ]; then
mutt -a "$LOG" -s "$COMPANY INTEG-Test abgeschlossen" -i "$LOG" -- $EMAIL </dev/null
else
mutt -a "$LOG" -s "$COMPANY Achtung: INTEG-Test fehlgeschlagen" -i "$LOG" -- $EMAIL </dev/null
fi
0
Member: Lochkartenstanzer
Lochkartenstanzer Oct 24, 2018 at 14:22:31 (UTC)
Goto Top
Zitat von @DanielG1974:

Danke vielmals! Das war es.
Woran hast Du erkannt, dass da ein "V" hin muss?`

Weil das in der Funktion maillog steht.

lks