Hallo,
wenn Fehler auftreten, die eigentlich gar nicht auftreten dürften, dann fängt es an, keinen Spaß mehr zu machen.
Ich habe ein bash-Script, welches gestern einmal richtig lief und danach einmal falsch. Heute lief es wieder richtig, ohne dass ich etwas geändert habe.
Vielleicht hat jemand von Euch eine Idee, woran das liegen könnte.
Ich versuche, das Verhalten am Beispiel einer echo-Zeile mit integriertem date-Befehl Euch zu zeigen.
Es gibt noch andere derartige Fehler, welche wie oben bereits geschrieben bei drei Durchläufen lediglich beim zweiten Durchlauf aufgetreten sind.
Nun etwas genauer:
Ich habe eine kleinen Server (Debian) und lasse jede Minute folgendes Script starten, welches bei einer IP-Änderung mittels echo-Befehl eine Datei befüllt, welche ich mir danach per eMail zuschicken lasse.:
Code:
#!/bin/bash
...
echo "Bedingung erfuellt: curl ist installiert." > /tmp/$bsnm
...
source /auto/function/validip
...
echo "$bsnm Start ($(date)) mit IP:$IP fuer die Domain: $DOMAIN" >> /tmp/$bsnm
if valid_ip $IP; then
dnsip=$(ping -c 1 $DOMAIN | grep -Eo -m 1 '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')
echo "Domain-IP: $dnsip" >> /tmp/$bsnm
...
Der Inhalt der Datei (/tmp/$bsnm) lasse ich mir am Ende des Scriptes per eMail schicken.
Gestern früh kam folgende eMail mit korrektem Inhalt:
...
*** Start (Fr 1. Jul 03:03:01 CEST 2016) mit IP:217.235.110.*** fuer die Domain: ***.de
Domain-IP: 91.13.142.***
...
35 Minuten später kam wieder eine eMail, diesmal mit folgendem Inhalt:
...
*** Start (Fr 1. Jul 03:38:47 CEST 2016) mit IP:217.235.101.*** fuer die Domain: ***.de
*** Start (Fr 1. Jul 03:38:48 CEST 2016) mit IP:217.235.101.*** fuer die Domain: ***.de
*** Start (Fr 1. Jul 03:38:48 CEST 2016) mit IP:217.235.101.*** fuer die Domain: ***.de
*** Start (Fr 1. Jul 03:38:48 CEST 2016) mit IP:217.235.101.*** fuer die Domain: ***.de
*** Start (Fr 1. Jul 03:38:51 CEST 2016) mit IP:217.235.101.*** fuer die Domain: ***.de
*** Start (Fr 1. Jul 03:38:55 CEST 2016) mit IP:217.235.101.*** fuer die Domain: ***.de
Domain-IP: 217.235.110.***
...
Man beachte die Zeitangabe von $(date).
Vorneweg: Im Script gibt es keine Schleife.
Zu Beginn wird die temporaere Datei immer mit neuem Inhalt überschrieben.
Wie kann es also sein, dass die echo-Zeile mehrmals hintereinander mit dem "$(date)"-Befehl augenscheinlich im unregelmäßigen Sekundentakt ausgeführt wurde?
Was schlagt Ihr vor, wie ich diesen Fehler eingrenzen, reproduzieren und schlussendlich aufdecken kann?
Beste Grüße, Prefect
Lesezeichen