projects
/
mirror
/
dsa-nagios.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dsa-check-zone-rrsig-expiration-many: actually exit non-zero if there were warnings
[mirror/dsa-nagios.git]
/
dsa-nagios-checks
/
checks
/
dsa-check-dabackup
diff --git
a/dsa-nagios-checks/checks/dsa-check-dabackup
b/dsa-nagios-checks/checks/dsa-check-dabackup
index
6ce30b2
..
ea5ecc4
100755
(executable)
--- a/
dsa-nagios-checks/checks/dsa-check-dabackup
+++ b/
dsa-nagios-checks/checks/dsa-check-dabackup
@@
-30,8
+30,11
@@
use Getopt::Long;
use Fcntl qw(:seek);
my $DABACKUP_CONF = '/etc/da-backup.conf';
use Fcntl qw(:seek);
my $DABACKUP_CONF = '/etc/da-backup.conf';
-my $MAX_AGE =
3
0*60*60;
+my $MAX_AGE =
4
0*60*60;
my $TOO_FRESH = 5*60;
my $TOO_FRESH = 5*60;
+my $MAX_LOCK_AGE = 24*60*60;
+my $LOCKFILE = '/var/lock/da-backup.lock';
+
my %CODE = (
'UNDEF' => -1,
'OK' => 0,
my %CODE = (
'UNDEF' => -1,
'OK' => 0,
@@
-68,9
+71,10
@@
my $params = {};
Getopt::Long::config('bundling');
if (!GetOptions (
Getopt::Long::config('bundling');
if (!GetOptions (
- 'h|help' => \$params->{'help'},
- 'f|fresh=i' => \$TOO_FRESH,
- 'm|maxage=i' => \$MAX_AGE,
+ 'h|help' => \$params->{'help'},
+ 'f|fresh=i' => \$TOO_FRESH,
+ 'm|maxage=i' => \$MAX_AGE,
+ 'M|maxlockage=i' => \$MAX_LOCK_AGE,
)) {
die ("$PROGRAM_NAME: Usage: $PROGRAM_NAME [-fwhv]\n");
};
)) {
die ("$PROGRAM_NAME: Usage: $PROGRAM_NAME [-fwhv]\n");
};
@@
-136,7
+140,12
@@
for my $f (sort {$a cmp $b} keys %logfiles) {
my @stat = stat("$logdir/$f") or die ("Cannot stat $logdir/$f: $!\n");
my $age = time - $stat[10];
my @stat = stat("$logdir/$f") or die ("Cannot stat $logdir/$f: $!\n");
my $age = time - $stat[10];
- if ($age < $TOO_FRESH) { # File is too new, let's use the old one
+ my $lockage = undef;
+ if (my @lockstat = stat($LOCKFILE)) {
+ $lockage = time - $lockstat[10];
+ }
+
+ if ($age < $TOO_FRESH || (defined $lockage && $lockage < $MAX_LOCK_AGE)) { # File is too new, let's use the old one
if (-e "$logdir/$f.0") {
$f .= ".0";
my @stat = stat("$logdir/$f") or die ("Cannot stat $logdir/$f: $!\n");
if (-e "$logdir/$f.0") {
$f .= ".0";
my @stat = stat("$logdir/$f") or die ("Cannot stat $logdir/$f: $!\n");
@@
-165,7
+174,7
@@
for my $f (sort {$a cmp $b} keys %logfiles) {
my $last = '';
while (<FH>) {
chomp;
my $last = '';
while (<FH>) {
chomp;
- if (/^sent\s+
\d+\s+bytes\s+received\s+\d+\s+bytes\s+[\d
\.]+\s+bytes\/sec$/) {
+ if (/^sent\s+
[\d,]+\s+bytes\s+received\s+[\d,]+\s+bytes\s+[\d,
\.]+\s+bytes\/sec$/) {
problem('OK', 'probably ok', $f);
close(FH);
next FILE;
problem('OK', 'probably ok', $f);
close(FH);
next FILE;