Shell-Script

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
diriget
Beiträge: 15
Registriert: 25.02.2005 19:58:38

Shell-Script

Beitrag von diriget » 21.03.2005 15:31:08

Hallo,

ich will ein Script zur Überwachung unseres Netzwerks schreiben.
Dazu starte ich tcpdump in einer while-schleife und frage somit die einzelnen Hosts für jeweils 5 Sekunden ab.

Code: Alles auswählen

tcpdump host 192.168.79.$x
sleep 5
killall -9 tcpdump
Wie Ihr seht, liegt hier schon ein Fehler im Script - natürlich bleibt die Scheife bei tcpdump stehen.
Wie kann ich tcpdump nach 5 Sekunden beenden?

MfG
diriget[/code][/quote]

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 21.03.2005 15:46:42

du musst ein & am ende deiner tcpdump zeile machen, dann ist es im hintergrund, aber dann solltest du tcpdump mittels
killall -SIGQUIT tcpdump
beenden
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

diriget
Beiträge: 15
Registriert: 25.02.2005 19:58:38

Beitrag von diriget » 21.03.2005 15:49:48

Danke,

klappt super! :D

MfG
diriget

diriget
Beiträge: 15
Registriert: 25.02.2005 19:58:38

Beitrag von diriget » 22.03.2005 10:10:01

:cry:
Zu früh gefreut.
In meiner Testumgebung (debian/woody) läuft das Script einwandfrei!
Jetzt habe ich das Script auf unseren IPCop 1.4.1 kopiert, doch hier versagt es den Dienst. :?
Mit:

Code: Alles auswählen

tcpdump >> logdatei
wird die Logdatei gefüllt aber ich kann den Prozess aus oben genannten Gründen nicht beenden.
Verwende ich:

Code: Alles auswählen

tcpdump >> logdatei $
wird der Prozess zwar beendet aber die Logdatei bleibt leer.
Als Interpreter dient in beiden Fällen #!/bin/sh.
Ich bin mal wieder ratlos. :?:
MfG diriget

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 22.03.2005 10:18:24

welche Gründe meinst du?

kann sein dass du bevor du killst mal ein


machst..


killst du mit "-9" oder mit "-SIGQUIT"?
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

diriget
Beiträge: 15
Registriert: 25.02.2005 19:58:38

Beitrag von diriget » 22.03.2005 10:29:38

Jetzt füllt sich die Datei aber

Code: Alles auswählen

killall -SIGQUIT tcpdump 
killt mir den Prozess nicht.
Wenn ich ps aufrufe, erscheint tcpdump.
Ich sollte mir mal die manpage von killall durchlesen. :idea:
MfG diriget

diriget
Beiträge: 15
Registriert: 25.02.2005 19:58:38

Beitrag von diriget » 22.03.2005 10:36:05

Code: Alles auswählen

killall -15 tcpdump
war die Lösung. :idea:
Vielen Dank nochmal! :!:
MfG diriget
Zuletzt geändert von diriget am 22.03.2005 10:36:44, insgesamt 1-mal geändert.

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 22.03.2005 10:36:06

dann versuchs halt mit "kill -9" das sollte gehen. solange schon was im log steht ist es ja ok!

/edit: ok ok.. ich halt ja schon die Tastatur ruhig ;-)
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

diriget
Beiträge: 15
Registriert: 25.02.2005 19:58:38

Beitrag von diriget » 22.03.2005 10:52:52

:mrgreen:

Antworten