Frage zur while Schleife in debug.cfg

kdd

Neuer User
Mitglied seit
9 Aug 2005
Beiträge
67
Punkte für Reaktionen
0
Punkte
6
Moin,
oft wird für die debug.cfg eine while Schleife verwendet, um z.B. die Erreichbarkeit eines Servers sicherzustellen.
Code:
while !(ping -c 1 www.tecchannel.de); do
sleep 10
done
Wie sieht das denn aus, wenn der Server dann tatsächlich mal down ist.
Sehe ich das richtig, dass das Script, in diesem Fall die debug.cfg dort hängen bleibt, und ich "ewig" warte, bis die restlichen Anweisungen nach der Schleife ausgeführt werden?
In diesem Fall würde z.B. auch der LCR nicht geladen, der mir die Wahltabelle für die CBC Nummern via isdn bereitstellt. Damit hätte ich dann recht hohe Kosten und merke das erst bei der nächsten Rechnung. :-O

Gleich zu Beginn in der debug.cfg teste ich nämlich auf einen internen Server, um Dateien per wget nachzuladen. Wie komme ich aus der Schleife heraus, wenn der Server down ist?
 
Hi,

ja, die Schleife läuft solange, bis der Server erreicht wurde; wenn er down ist, also beliebig lange.
kdd schrieb:
Wie komme ich aus der Schleife heraus, wenn der Server down ist?
Du kannst z.B. eine maximale Anzahl von Wartezyklen durchführen und danach aufgeben:
Code:
tries=5
while [ $tries -gt 0 ] && ! ping -c 1 rechner; do
  let tries--
  sleep 10
done
oder so
Code:
tries=0
while ! ping -c 1 rechner; do
  let tries++
  [ $tries -ge 5 ] && break
  sleep 10
done

Gruß,
Andreas
 
Moin,
wow, das klappt ja schnell hier; vielen Dank.
Meine 20 Jahre alten UNIX-Kenntnisse reichen halt nicht und die Beschreibungen sind mitunter auch recht holprig. Das Beispiel hilt mir aber gut weiter.
 
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.