Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Logfile (mit bash) überwachen
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3495

PostPosted: Mon Jul 28, 2008 1:54 pm    Post subject: Logfile (mit bash) überwachen Reply with quote

Ein laufender Service schreibt fortlaufend in eine Logdatei.

Code:
# service > logfile &


Wie kann ich (mit einem Bashscript) das logfile dauerhaft überwachen und beim Auftreten bestimmter Zeichenketten eine Aktion auslösen (idealerweise mit der Zeile als Parameter/Pipe an das Script)

Ich dachte zuerst an eine Lösung mit grep, aber das wäre sicherlich keine Idee bei einem stetig wachsendem Logfile. Ob eine Variante mit tail sinnvoll ist bin ich mir nicht sicher, weil in dem Moment wo das tail das Bashscript anschubst, könnte eine Zeile verloren gehen oder habe ich da einen Denkfehler?

Wie löst man sowas?
Back to top
View user's profile Send private message
think4urs11
Bodhisattva
Bodhisattva


Joined: 25 Jun 2003
Posts: 6659
Location: above the cloud

PostPosted: Mon Jul 28, 2008 6:28 pm    Post subject: Reply with quote

Ich würde das entweder mit tail -f logfile | grep foo && mach.was & oder via Edellösung mittels net-analyzer/sec machen.
Je nachdem was du genau brauchst ist sec wesentlich flexibler.
_________________
Nothing is secure / Security is always a trade-off with usability / Do not assume anything / Trust no-one, nothing / Paranoia is your friend / Think for yourself
Back to top
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3495

PostPosted: Tue Jul 29, 2008 6:43 am    Post subject: Reply with quote

sec werde ich mir mal anschauen, denn das von dir vorgeschlagene ist genau das was ich meinte. Wenn grep den Treffer findet beendet es die Anweisung durch den Aufruf von mach.was. Die darauffolgende Zeile vom Log wird schon nicht mehr überwacht. Das ist eine Schleife zu packen wäre bei genauer Überlegung auch sinnfrei.
Back to top
View user's profile Send private message
Knieper
l33t
l33t


Joined: 10 Nov 2005
Posts: 846

PostPosted: Tue Jul 29, 2008 6:51 am    Post subject: Reply with quote

Und den Logdienst willst Du nicht benutzen? syslog-ng macht das auch.
_________________
Je dümmer desto Gnome/KDE.
Back to top
View user's profile Send private message
Anarcho
Advocate
Advocate


Joined: 06 Jun 2004
Posts: 2970
Location: Germany

PostPosted: Tue Jul 29, 2008 9:12 am    Post subject: Reply with quote

Oder folgendes kleines Perl-Script: (nach emerge File-Tail)

Code:
#!/usr/bin/perl -w
use strict;
use File::Tail;
my $name = "/var/log/messages";
my $file=File::Tail->new(name=>$name, maxinterval=>5, interval=>3, adjustafter=>15);
while (defined(my $line=$file->read)) {
        if ($line =~ /sudo/) {
                system('echo "Damn sudo again..."');
        }
}

_________________
...it's only Rock'n'Roll, but I like it!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum