Page 1 of 1

kennt sich jemand mit bash.programmierung aus ?

Posted: Tue 14 Sep, 2004 11:01 am
by random
Folgendes Problem:
Ein kleines Proggie soll einen host mit IP bei dyndns.org 5 mal anpingen und das ergebnis in eine log schreiben.
Danach eine sekunde warten und wieder ping ...
und das als endlosschleife ...

Weiss jemand wie man das umsetzt ?


Greetz,
medra

Posted: Tue 14 Sep, 2004 12:15 pm
by sanaia
Hallo

folgendes sollte gehen:
ping -c 5 > logfile
sleep 60
exec $0
nachteil: manche systeme kommen mit endlosen rekursiv aufrufen nicht klar und brechen irgendwann mit einem segfault ab.

Zweiteinfachste und stabilere lösung: ein kleines C-programm, welches das auszuführende script via system() call startet.

Posted: Tue 14 Sep, 2004 4:28 pm
by juk
sanaia wrote:Hallo

folgendes sollte gehen:
ping -c 5 > logfile
sleep 60
exec $0
nachteil: manche systeme kommen mit endlosen rekursiv aufrufen nicht klar und brechen irgendwann mit einem segfault ab.

Zweiteinfachste und stabilere lösung: ein kleines C-programm, welches das auszuführende script via system() call startet.
Das segfaultet dir mit ziemlicher sicherheit frueher oder spaeter!

Besser:
until [1=1] ;
do
ping -c 5 192.168.1.1 > logfile
sleep 60
done

Das ist eine endlosschleife da hoffentlich in diesem universum die bedingung 1=1 immer erfuellt sein wird ;-)

Posted: Tue 14 Sep, 2004 11:42 pm
by random
vielen Dank leute.

Es geht um die Probehalber Client-Überwachung eines Bekannten, der wohl trotz Abmelden am Router ständig im Inet ist, so meint das zumindestens die hohe Rechnung für DSL :-(
Zum Glück hab ich ne Flat *lol*

Prinzipiell läufts, nur bekomm ich jedesmal die Fehlermeldung:
line 2: [1=1]: command not found


Greetz,
medra

Posted: Wed 15 Sep, 2004 7:14 am
by floh
Such dir mal die Software Pingplotter. Die kann dir alles grafisch aufzeichnen. Mit Zeit usw.

Posted: Wed 15 Sep, 2004 9:19 am
by juk
Medra wrote: Prinzipiell läufts, nur bekomm ich jedesmal die Fehlermeldung:
line 2: [1=1]: command not found
Hallo,

da muss ein ; hin kein :

Schau noch einmal genau hin...

mfg
JUK