aboutsummaryrefslogtreecommitdiff
path: root/plugins-scripts/check_mailq.pl
diff options
context:
space:
mode:
Diffstat (limited to 'plugins-scripts/check_mailq.pl')
-rwxr-xr-xplugins-scripts/check_mailq.pl29
1 files changed, 14 insertions, 15 deletions
diff --git a/plugins-scripts/check_mailq.pl b/plugins-scripts/check_mailq.pl
index f1aec0f4..c676e41a 100755
--- a/plugins-scripts/check_mailq.pl
+++ b/plugins-scripts/check_mailq.pl
@@ -186,12 +186,10 @@ if ($mailq eq "sendmail") {
## close mailq
close (MAILQ);
- # declare an error if we also get a non-zero return code from mailq
- # unless already set to critical
+
if ( $? ) {
- $state = $state == $ERRORS{"CRITICAL"} ? $ERRORS{"CRITICAL"} : $ERRORS{"WARNING"} ;
- print "STDERR $?: $!\n" if $verbose;
- $msg = "$state: (stderr)\n";
+ print "CRITICAL: Error code ".($?>>8)." returned from $utils::PATH_TO_MAILQ",$/;
+ exit $ERRORS{CRITICAL};
}
## shut off the alarm
@@ -318,12 +316,10 @@ elsif ( $mailq eq "postfix" ) {
# close qmail-qstat
close MAILQ;
- # declare an error if we also get a non-zero return code from mailq
- # unless already set to critical
+
if ( $? ) {
- $state = $state == $ERRORS{"CRITICAL"} ? $ERRORS{"CRITICAL"} : $ERRORS{"WARNING"} ;
- print "STDERR $?: $!\n" if $verbose;
- $msg = "$state: (stderr)\n";
+ print "CRITICAL: Error code ".($?>>8)." returned from $utils::PATH_TO_MAILQ",$/;
+ exit $ERRORS{CRITICAL};
}
## shut off the alarm
@@ -401,12 +397,10 @@ elsif ( $mailq eq "qmail" ) {
# close qmail-qstat
close MAILQ;
- # declare an error if we also get a non-zero return code from mailq
- # unless already set to critical
+
if ( $? ) {
- $state = $state == $ERRORS{"CRITICAL"} ? $ERRORS{"CRITICAL"} : $ERRORS{"WARNING"} ;
- print "STDERR $?: $!\n" if $verbose;
- $msg = "$state: (stderr)\n";
+ print "CRITICAL: Error code ".($?>>8)." returned from $utils::PATH_TO_MAILQ",$/;
+ exit $ERRORS{CRITICAL};
}
## shut off the alarm
@@ -490,6 +484,11 @@ elsif ( $mailq eq "exim" ) {
}
}
close(MAILQ) ;
+
+ if ( $? ) {
+ print "CRITICAL: Error code ".($?>>8)." returned from $utils::PATH_TO_MAILQ",$/;
+ exit $ERRORS{CRITICAL};
+ }
if ($msg_q < $opt_w) {
$msg = "OK: mailq ($msg_q) is below threshold ($opt_w/$opt_c)";
$state = $ERRORS{'OK'};