1
2
3
# /var/log durch Dein Verzeichnis ersetzen.
# -maxdepth 1 : Suche erfolgt nur direkt im Verzeichnis, keine Suche in Unterverzeichnisse
find /var/log/ -maxdepth 1 -type f -cmin -15 2>/dev/null | wc -l
1 2 3 4 5 6
my $directory = '/var/log'; my $timelimit = time - 60 * 15; my @files = File::Find::Rule->file() ->mtime( ">$timelimit" ) ->in( $directory );
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
#!/usr/local/bin/perl # use Sys::Hostname; use Net::SMTP; use File::Find::Rule; # Paramter für Mail Versand #----------------------------- $SID = <SYSTEM>; $local_host = hostname(); $mailServer = "<MAILSERVER>"; $from = "$ABSENDER\@$local_host"; $to = "Test@TEST.de"; my $output = "F:\\temp\\out\\output.txt"; my $directory = "F:\\Ziel\\log"; my $timelimit = time - (60 * 15); my @files = File::Find::Rule->file() # Rückgabe aller Files < 15min ->mtime( ">$timelimit" ) ->in( $directory ); if (@files[0] ne '' ) #Wenn Array ungleich "leer" dann "Installer läuft" { printf "Alles Gut/n"; } else { printf "Pruefen/n"; open(DATA,"F:\\<INSTDIR>\\log\\Console.log"); $newline = 1; for ($i=-1; seek(DATA,$i,2); $i--) { read DATA,$char,1; if ($char eq "\n") {$i--; $newline++;} last if ($newline > 20); $string = $char.$string; } close(DATA); @last20lines = split(/\n/, $string); printf "============="; printf "@last20lines"; printf "============="; open (DATEI, ">>$output") or die $!; print DATEI "@last20lines"; close (DATEI); #E-Mail Benachrichtigung $smtp = Net::SMTP->new($mailServer); $smtp->mail($from); $smtp->to($to); $smtp->data(); $smtp->datasend("To: $to\n"); $smtp->datasend("From: $from\n"); $smtp->datasend("Subject: SUM Installer benoetigt Eingabe\n"); $smtp->datasend("MIME-Version: 1.0\n"); $smtp->datasend("Content-type: multipart/mixed; boundary=\"frontier\"/n"); $smtp->datasend("\n--frontier/n"); $smtp->datasend("Content-type: text/plain/n"); $smtp->datasend("Content-Type: application/text; name=\"output.txt\"/n"); # ATTACHMENT funktioniert noch nicht $smtp->datasend("Content-Disposition: attachment; filename=\"output.txt\"/n"); # ATTACHMENT funktioniert noch nicht $smtp->datasend("/n"); #$smtp->datasend("TESTESTTEST/n"); $smtp->dataend(); $smtp->quit; }