Definierten Zeitpunkt hochzählen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von ramann, 23.01.2009.

  1. ramann

    ramann Eroberer

    Dabei seit:
    20.06.2007
    Beiträge:
    59
    Zustimmungen:
    0
    Hi Zusammen,

    ich möchte Logfiles in einem bestimmten Zeitfenstern durchsuchen.

    Beispiel:

    Start 1.1.09 10:10
    Ende 3.1.09 11:13

    Gibt es einen Befehl mit dem ich einen definierten Zeitpunkt hochzählen kann?

    Thanks
    Bjoern

    System: GNU bash, version 3.2.33(1)-release (x86_64-suse-linux-gnu)
    SUSE Linux Enterprise Server 10 (x86_64)
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.054
    Zustimmungen:
    8
    wie ist denn das Logfile aufgebaut?
     
  4. ramann

    ramann Eroberer

    Dabei seit:
    20.06.2007
    Beiträge:
    59
    Zustimmungen:
    0
    z.B. apache access log:

    127.0.0.1 - - [23/Jan/2009:07:19:19 -0800] "GET /cgi-bin/tinfo.dll?fun=check HTTP/1.1" 500 1171 SERVERTIME=0 X-SRC-IP=- X-Forwarded-For="-" HTTP_HOST=127.0.0.1 REFERER="-" X-Client-Host=- X-Akamai-Edgesca
    pe="-" X-Cookie="-"
    1
     
  5. #4 Wolfgang, 23.01.2009
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Ja, das lässt sich machen.
    Du musst nur das Datum filtern, in einen Timestamp bringen (z.B. mit GNU date oder gleich mit Perl) und dann alle Zeilen verwerfen, die ausserhalb liegen.
    Du kommst aber nicht um das Auslesen der Datei bis zum Endpunkt, da ja jede Zeile erst geparst und das Datum convertiert werden muss.

    Gruß Wolfgang
     
  6. #5 aspire_5652, 24.01.2009
    aspire_5652

    aspire_5652 Tripel-As

    Dabei seit:
    02.01.2008
    Beiträge:
    198
    Zustimmungen:
    0
    Klar geht das:
    Öffne dein Log und springe zu dem Zeitpunkt des Anfangs, merke dir die Zeilennummer:
    und dann:

    Code:
    tail -n $Zeilennummer_Anfang $logfile > anfang.txt
    Öffne dann anfang.txt und springe zu dem End-Zeitpunkte, merke dir wieder die Zeilennumer:
    Code:
    head -n $Zeilennummer_Ende anfang.txt > gesamt.txt
    "gesamt.txt" ist dann die Textdatei die du für den entsprechenden Zeitraum untersuchen möchtest

    Liese sich auch scripten in dem du mit grep gleich nach den entsprechenden Timestamps suchst und die Zeilennummern in einer Variable speicherst.
     
Thema:

Definierten Zeitpunkt hochzählen

Die Seite wird geladen...

Definierten Zeitpunkt hochzählen - Ähnliche Themen

  1. Von Undefinierten Symbolen und relocation-Fehlern

    Von Undefinierten Symbolen und relocation-Fehlern: Hallo zusammen! Ich bekomme beim starten von manchen Programmen (meist von Source compillte) oft Fehler wie "relocation error: ...." oder...
  2. Startzeitpunkt in ksh-Skript festlegen

    Startzeitpunkt in ksh-Skript festlegen: Hallo zusammen, ich möchte gerne einen Startzeitpunkt in einem ksh-Skript festlegen. Dieses gebe ich im Format HH:MM in dem Skript an, und...
  3. Cron-Job ausführen wenn Zeitpunkt vorbei

    Cron-Job ausführen wenn Zeitpunkt vorbei: Hi Leute! Ich habe immer morgens um 5 einen Cron-job laufen. Denn wenn ich mich pünktlich aus dem Bett quäle, dann ist der PC dann auch an....