]> Frank Brehm's Git Trees - scripts/solaris.git/commitdiff
Dafür gesorgt, daß Fehlermeldungen mit Messages vollständiger gesendet werden
authorFrank Brehm <frank@brehm-online.com>
Tue, 14 Nov 2006 09:31:24 +0000 (09:31 +0000)
committerFrank Brehm <frank@brehm-online.com>
Tue, 14 Nov 2006 09:31:24 +0000 (09:31 +0000)
mail2sms.pl

index 7493b51b56666b246d13811551b809d0328703c6..fe3929a2ce396250972509b686a7091fee7f8ac5 100755 (executable)
@@ -186,7 +186,8 @@ if ($show_version) {
     exit 0;
 }
 
-my $maxenv = 1;
+my $maxlen_msg = $maxlen * 4;
+my $maxenv     = 1;
 my ( $attr, $env, $input, $text, $body, $content, $r, $file, $lockfile, $i, $mail, $part );
 my (@Rcpts);
 
@@ -229,6 +230,8 @@ my $filepat = $dir . "mail2sms_" . time() . "-" . $$ . '_%d.txt';
     $input = <>;
 }
 
+exit 0 unless $input;
+
 $body = undef;
 
 # Mail zerpflücken und den plain-text-Teil heraussuchen
@@ -265,9 +268,31 @@ $text .= "\n" if $text;
 # Dann der Mail-Text
 $text .= $body;
 
-# Text trimmen und auf Länge stutzen
-$text =~ s/\s+$//;
-$text = substr( $text, 0, $maxlen );
+=pod
+
+Na2702.msgs down (red) 01:34: Messages mit Fehlern|>&red Fehler: [2006 Nov 12 01:33:50 CET
+Status Na2702.msgs -> down (red) um Sun Nov 12 01:34:07 2006.
+Messages mit Fehlern
+&red Fehler: [2006 Nov 12 01:33:50 CET +0100] na2702 [daemon.err] [na2702: asup.smtp.unreach:error]: Autosupport mail was not sent because the system cannot reach any of the mail hosts from the autosupport.mailhost option. (WEEKLY_LOG)
+
+=cut
+
+if ( $text =~ /^(\w+.msgs\s+down\s+\(\w+\)\s+\d+:\d+(?::\d+)?:\s+[\s\w]+)\|.*[\n\r]+\&\w+\s+Fehler:\s+(.*)/is ) {
+
+    $text = $1 . "\n" . $2;
+
+    # Text trimmen und auf Länge stutzen
+    $text = substr( $text, 0, $maxlen_msg );
+    $text =~ s/\s+$//;
+
+}
+else {
+
+    # Text trimmen und auf Länge stutzen
+    $text = substr( $text, 0, $maxlen );
+    $text =~ s/\s+$//;
+
+}
 
 # Bestätigungs-Mail rausjagen, falls nicht untersagt ..
 unless ($nomail) {
@@ -281,7 +306,7 @@ unless ($nomail) {
 
     print MAIL "Gesendeter Text:\n" . $text . "\n";
 
-    if ( $verbose ) {
+    if ($verbose) {
         print MAIL "---------------------\n";
         print MAIL "Environment:\n" . $env . "\n\n";
         print MAIL "Kommando-Parameter:\n" . $attr . "\n\n";