Anzeige:
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 15 von 31

Thema: Über Script Datei auslesen

  1. #1
    Registrierter Benutzer
    Registriert seit
    04.03.2004
    Ort
    Weinheim
    Beiträge
    53

    Über Script Datei auslesen

    Hallo !!!
    Kann mir jemand helfen .
    Ich möchte in der Datei /var/log/messages über ein script überwachen lassen.
    Wenn dann ein bestimmtes Ereignis in die Datei rein geschrieben wird.
    Soll z.B: eine Aktion von USB gesteckt oder nicht.
    Soll eine Aktion ausgeführt werden z.B ein Ton abspielen.

    mfg

    Rainer

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    USB-Überwachung und Ausführen von Userspace-Programmen machst du am besten mit den hotplug-Scripts.

    Die benutzt z. B. auch udev (das ist der Userspace-Devfs-Nachfolger) um die Device-Nodes zu erzeugen.

    Ansonsten: Bring mal n bisschen was konkretes - dann kann ich dir auch einen Vorschlag machen, wie das hinzukriegen sein sollte.
    (Wie häufig überprüfen, wie sieht der Eintrag aus, auf den reagiert werden soll, und überhaupt)

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer
    Registriert seit
    04.03.2004
    Ort
    Weinheim
    Beiträge
    53
    Hallo !!!

    Habe heute herrausgefunden , dass alle Ereignisse in eine Textdatei rein geschrieben werden.
    Es kann jeder Zeit etwas in die Datei rein geschrieben werden.
    Das soll das script mitbekommen , dass etwas rein geschrieben worden ist.
    Soll kontrolieren ,ist das wichtig für mich oder nicht.
    Die Zeilen sehen so aus.

    05/03/04 11:15:06 001001M|--/--/-/---|=0:2043 =Los of the 6 CRYSTAL
    05/03/04 11:15:06 001001M|--/--/-/---|=0:2063 =IPC

    Für mich wäre jetzt wichtig die Fehlernummer 2043 oder 2663 erscheinen.
    Dass eine Aktion auslöst wird.
    Z.B:ein anderes Programm starten das den Befehl reset ausführt oder so..

    mfg

    Rainer

  4. #4
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    k.A. ob du den Log-Daemon irgendwie davon überzeugen kannst die jeweiligen Meldungen gleich an ein externes Programm (d.h. script) weiterzugeben.

    Andernfalls musst du das wohl jede Minute oder so per Cronjob überprüfen.

    Die Codes aus den Zeilen kannst du z. B. mit Sed herausschneiden.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  5. #5
    Registrierter Benutzer
    Registriert seit
    04.03.2004
    Ort
    Weinheim
    Beiträge
    53
    Ok !!!

    Wie könnte z.B : ein Script aussehen , mit SED das vom Cron gestartet wird.
    Bin leider Anfänger auf Script schreiben.
    Kann mir jemand helfen.

    mfg

    Rainer

  6. #6
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Nun. Zuerst muss das Script mal rausfinden welche Linien überhaupt neu sind in der der Datei sind. Das ist eher overhead.

    Code:
    #!/bin/bash
    
    DATEI=/meine/datei
    
    for NUMBER in $(sed 's#.*M|--/--/-/---|=0:\([0-9]\{4\}\).*#\1#' <$DATEI); do
      echo $NUMBER ist aufgetaucht
      #hier was tun
    done
    
    cat $DATEI >> $DATEI.old
    Den Inhalt von $DATEI findest du nach Ausführen des Scripts immer komplett in $DATEI.old

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  7. #7
    Registrierter Benutzer
    Registriert seit
    28.02.2004
    Ort
    Faro
    Beiträge
    24
    wie wäre es, einen daemon laufen zu lassen, der sich das file per
    Code:
    tail -f $DATEI
    "zur brust nimmt" ? war nur ein gedanke ...

    cu, sd.
    I'm not paranoid: It's just that everybody is out to get me. (c) by Linus Torvalds (/usr/src/linux/kernel/exit.c )
    es gibt nur zwei arten von menschen: die einen die glauben, dass es zwei arten von menschen gibt; und diejenigen, die es nicht glauben.
    linux counter: #223744 - it's NEVER 2 late. only NEVER is to late! - echo halb | rev >> www.sinnlos.de
    - my $sig; -

  8. #8
    Registrierter Benutzer
    Registriert seit
    04.03.2004
    Ort
    Weinheim
    Beiträge
    53
    Das mit dem Damon hört sich nicht schlecht an.
    Vieleicht kann man ja beide ideen ja zusammen führen.
    Das Beispiel von peschmae werde ich jetzt testen.
    Schreibe das Ergebniss wieder rein.

    mfg

    Rainer

  9. #9
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    tail war auch meine erste Idee. Aber irgendwie schaff ich es nicht, das tail -f einzubauen.

    Der Code da geht nämlich nicht:
    Code:
    #!/bin/bash
    
    DATEI=/meine/datei
    
    for NUMBER in $(tail -f $DATEI | sed 's#.*M|--/--/-/---|=0:\([0-9]\{4\}\).*#\1#' <$DATEI); do
      echo $NUMBER ist aufgetaucht
      #hier was tun
    done
    bei meinem Code oben musst du übrigens noch ein "rm $DATEI" anfügen. Sonst kommt eine einmal in die Datei eingefügte Meldugn immer wieder.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  10. #10
    Registrierter Benutzer
    Registriert seit
    04.03.2004
    Ort
    Weinheim
    Beiträge
    53
    Hallo !!!

    Habe gerade eben ohne dem tail probiert.
    Das funktioniert so.
    Wo kann ich einstelln , dass nur eine Bestimmte Nummer gefiltert wird.
    Und nicht alle.
    Wenn möglich nicht immer die ganze Datei durchsuchen sondern immer da
    anfangen wo das letztemal aufgehört hat.

    mfg

    Rainer

  11. #11
    Registrierter Benutzer
    Registriert seit
    04.03.2004
    Ort
    Weinheim
    Beiträge
    53
    Habe gerade auch mit tail propiert.
    Für mich ist da kein Unterschied festzustellen.

    mfg

    Rainer

    PS:Muss leider jetzt weg.Probiere heute Abend weiter.

  12. #12
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    1) das rm - hab ich oben geschrieben - fehlt noch
    2) tail -f müsste man anders benutzen - so in der Art wie ich geschrieben hab - aber das funtzt nicht leider

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  13. #13
    Registrierter Benutzer
    Registriert seit
    28.02.2004
    Ort
    Faro
    Beiträge
    24
    man könnte es in einen fifo schieben und hätte damit einen buffer. because everything is a file.
    Code:
    FIFO=~/loop_tmp
    mkfifo $FIFO
    (( tail -f0 $FILE > $FIFO )&)
    ...
    @Enterprise: dazu die frage: wieviele neue zeilen kommen max. pro sekunde zur datei dazu?
    I'm not paranoid: It's just that everybody is out to get me. (c) by Linus Torvalds (/usr/src/linux/kernel/exit.c )
    es gibt nur zwei arten von menschen: die einen die glauben, dass es zwei arten von menschen gibt; und diejenigen, die es nicht glauben.
    linux counter: #223744 - it's NEVER 2 late. only NEVER is to late! - echo halb | rev >> www.sinnlos.de
    - my $sig; -

  14. #14
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Nicht fix denke ich. Am Anfang schrieb er was von USB-Events oder so. Ob das noch gilt

    Fifo tönt nicht schlecht.
    Hab ich auf der Shell noch nie benutzt.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  15. #15
    Registrierter Benutzer
    Registriert seit
    04.03.2004
    Ort
    Weinheim
    Beiträge
    53
    Hallo !!!

    Zur Frage von Systemdefender die Datei ist wie eine LOG Datei .
    Es ist eine Ereignisdatei , es kann jede Sekunde oder Minute oder ein Tag kein Ereignis
    kommen .
    Zu den USB Events , es kommen auch bestimmte Ereignisse von der USB Schnittstelle
    in die LOG Datei.
    Ich habe vieleicht nicht so richtig die Frage gestellt. Sorry !!!

    mfg

    Rainer

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •