Sida 1 av 1

visa loggar

Postat: 14 okt 2006, 19:51
av Okänd
Jag slängde ihop ett litet perlscript för att visa /var/log/auth.log logfilen med lite färgkoder.

Om loggen indikerar att en användare har misslyckats att logga in eller angivit fel sudo lösenord så skrivs raden ut i rött. Om en användare har användt ett sudo kommando skrivs raden ut i orange. Alla andra rader skrivs ut i vanlig färg.

Eftersom scriptet använder tail -f så kommer rader som läggs till i loggfilen att skrivas ut direkt...

För att avsluta scriptet, tryck Ctrl +C om innehållet i terminalen efter man kört scriptet blir i fel färg eller något annat skriv då bara reset i terminalen så återställs den.

Kod: Markera allt

#!/usr/bin/perl -w
use Term::ANSIColor;

open(PIPE,"/usr/bin/tail -f /var/log/auth.log |") or die "open pipe: $!\n";

while(<PIPE>) {
   if(/Failed/ || /failure/ || /user unknown/ || /Invalid user/ || /warning/) {
      $color = "red";
   } elsif(/sudo/) {
      $color = "yellow";
   } else {
      $color = "reset";
   }
   print color($color), "$_", color("reset");
   print color("reset"),"\n";
}