Archiv verlassen und diese Seite im Standarddesign anzeigen : shell script prob
tag!
also es geht um folgendes:
ich moechte ein script schreiben das per cron die /var/log/messages alle sagen wir mal 2 min auswertet und nach dem string deny sucht. diesen wenn es ihn findet in eine neue datei schreibt. soweit hab ich es auch schon hinbekommen aber nun stellt sich mir folgendes problem, und zwar wenn ich des script zum 2. mal starte dann liest er wieder die ganze messages und des finde ich nicht sivoll. nun habe ich probiert die messages in eine named pipe umzuleiten was soweit auch ganz gut klappte aber wie lasse ich des nun von dem script auswerten? und muss oder besser kann ich diese named pipe in ihrer groesse beschraenken weil ich will das die nur z.b. die letzten 200 eintraege der messages enthaelt!
thx
Hallo smOker,
vieleicht ist es das was Du suchst:
tail -f /var/log/messages |grep deny > DeineDatei
Gruss Rupert
hi,
also falls du iptables benutzt, dann kannst du limits für logfiles einstellen, damit er dir nich 100 mal den gleich deniy string ausgibt, sonst explodieren ja deine logs
ich mach mal nur ne vermutung, habs nich probiert, könnte man nich das programm ständig laufen lassen, und zwar an die ausgabe von tail -f dranhängen? weil tail gibt ja immer nur die neueren zeilen aus dann, und das man das irgendwie in dein script piped ..... nur ne idee
hi
thx fuer die antwort. ich nutze ipchains aber des prinzip bleibt ja des gleiche... nun weiss ich nimmer weiter! also du meinst so zusagen nen script schreiben das die ausgabe von tail -f bla abfaengt ja? aber da gibts ja immernoch das problem das er wenn z.b. nen scan stattfindet immer noch alles hintereinander weg schreibt in die neue datei und genau das will ich umgehen. naja egal ich glaube ich werde das lieber mal in perl versuchen.
thx trotzdem
mightymike99
05-09-2001, 19:45
Hi smoker,
>ich denke mal du hast nicht verstanden was
>ich will. der soll des nach ner vorgegebenen
...
>ausserdem soll er wenn des deny kommt die ip
>einmal schreiben und nicht 100
Das stand so nicht in deiner Frage.
zeit wiederholen und mir dann nur noch neuere eintrage in die andere datei schreiben...
genau das macht tail -f
So noch etwas Kreativitaet und deinscript macht aus 100-Deny Zeilen mit der selben IP(oder was auch immer) dein gewuenschtes Logfile.
tail -f /var/log/messages |grep deny | deinscript > DeineDatei
Dann kannst ja noch ein 2. script basteln das ab und zu mal die logfiles auf die XXX aktuellsten Meldungen beschraenkt.
tail -200 DeineDatei >xyz
mv -f xyz DeineDatei
weitere Hilfe:
man bashman sed oder man awk www.linuxfibel.de (http://www.linuxfibel.de)
Gruß
fork
hi
ich denke mal du hast nicht verstanden was ich will. der soll des nach ner vorgegebenen zeit wiederholen und mir dann nur noch neuere eintrage in die andere datei schreiben... ausserdem soll er wenn des deny kommt die ip einmal schreiben und nich 100 mal z.b. wie wenn man nmapped wird! wenn noch was unklar is enfach mal nachhaken...
thx trotzdem!
danke!!
da hab ich wohl was falsch verstanden! also ich werd des mal testen und mich dann noch mal melden also soweit danke an alle die geantwortet haben.
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.