ssambdar Geschrieben 9. November 2004 Geschrieben 9. November 2004 Hallo zusammen, ich möchte eine Syslog-Ausgabe an ein Script weiterleiten (Shell-Script, Perl, PHP oder ähnliches). In den Manpages habe ich keine Info dazu gefunden, und auch mein Google scheint nicht so zu funktionieren wie sonst. Ich vermute mal, dass ich das über diese Named Pipes machen muss. Aber wie bekomme ich z.B. die Daten an ein Perl-Script übergeben werden. Bin für jede Hilfe dankbar
Nachtgeist Geschrieben 9. November 2004 Geschrieben 9. November 2004 Viele syslogds koennen koennen die Logs per Pipe an ein Programm weiterschieben. Schau einfach mal in SYSLOG.CONF(5) vorbei, ob deiner das unterstuetzt. (Wenn nicht ist es normalerweise auch kein Problem, sich einen anderen zu installieren)
ssambdar Geschrieben 9. November 2004 Autor Geschrieben 9. November 2004 Jepps... syslog kann (wie schon in meiner Frage erwähnt) an eine Named Pipe die Ausgabe schicken. Aber wie kann ich die dann mit einem Perl-Script z.B. annehmen und bearbeiten?
shutdown-Frnow Geschrieben 9. November 2004 Geschrieben 9. November 2004 mit stdin geht wohl bei jeder scriptsprache anders. hier mal irgendein beispiel bei ruby: #!/usr/bin/ruby $stdin.each do |x| puts system "clear" puts "schnuffelpuffel "+x+" hasenhirn." puts end das gibts sicherlich bei pearl und so auch
ssambdar Geschrieben 9. November 2004 Autor Geschrieben 9. November 2004 Aufpassen. Syslog kann nicht mit normalen Pipes arbeiten, sondern nur mit "Named Pipes" (Fragt Google, was das genau ist *g*). Dazu würde ich gerne ein Beispiel haben, wie ich Daten per named pipe an ein Script übergeben kann (sofern das möglich ist).
Craig Geschrieben 17. November 2004 Geschrieben 17. November 2004 Ist zwar im Grunde keine elegante Lösung, aber du könntest innerhalb kurzer Zeit immer wieder tail -n1 /var/log/messages in einer Endlosschleife machen...
taschentoast Geschrieben 18. November 2004 Geschrieben 18. November 2004 @ssambdar Wenn du das mit Perl realisieren willst, mach ein read-only filehandle auf die entsprechende Logdatei. Danach while(<FILEHANDLE>) { verarbeite Zeile für Zeile; } Ist speicherschonender als while true do Schleifen in der Shell Grüße taschentoast
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden