[Frage] Wo liegt in diesen Skript der Fehler?

tchleb

Neuer User
Mitglied seit
28 Okt 2014
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe ein Problem ich habe ein Skript angepasst das den Online-Status überprüft und ggf einen Neustart durchführt, das ganze soll auf einer 6840 lte laufen (verliert öfters mal das internet).

Code:
#!/bin/bash
# Überprüfen ob Internet verfügbar und ggf Neustart

#Einstellungen

#IP zum anpingen
WATCH_IP="8.8.8.8"
#Pfad zum Logfile
LOGFILE="/dev/null"
#pause (in sekunden) zwischen den pings
PAUSE=5
#Anzahl der fehlgeschlagenen pings zum Neustart 
TESTS=70

#SCRIPT


MISSED=0

while true; do
  if ! ping -c 1 -w 1 $WATCH_IP > /dev/null; then
    ((MISSED++))
  else
    if [ $MISSED -ge $TESTS ]; then
     echo `date` '-' $WATCH_IP "ist wieder online." >> $LOGFILE;
    fi
    MISSED=0
  fi;
  if [ $MISSED -eq $TESTS ]; then
    echo `date` "-" $WATCH_IP "ist offline." >> $LOGFILE;
    #NEUSTART
    /sbin/reboot
  fi
  sleep $PAUSE;
done

das ganze habe ich erfolgreich unter Debian getestet. Wenn ich es auf der 6840 lte teste funktioniert das Hochzählen mit MISSED++ nicht. Ich habe es schon mit MISSED=MISSED+1 ohne erfolg getestet. Was mache ich da falsch?

gruss
tchleb
 
Die bash in Freetz ist schon etwas älter.

Versuche es mal damit, das geht vermutlich sogar mit der Busybox Shell.
Code:
MISSED=$((MISSED+1))
 
Bei mir geht ohne Freetz:

MISSED=$((MISSED+1))
 
Moins Ich weiss es! :roll:
Code:
: $((MISSED++))
Ja, eisbaerin, RalfFriedl, wart mal wieder schneller. :rolleyes: LOL: 3 Antworten gleichzeitig, und alle richtig! TOP
 
Zuletzt bearbeitet:
Danke euch allen, da lag der Fehler:eek:
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.