~ubuntu-branches/ubuntu/precise/nagios-plugins/precise-proposed

« back to all changes in this revision

Viewing changes to contrib/sched_downtime.pl

  • Committer: Bazaar Package Importer
  • Author(s): Guido Trotter
  • Date: 2004-06-15 15:37:48 UTC
  • Revision ID: james.westby@ubuntu.com-20040615153748-pq7702qdzghqfcns
Tags: upstream-1.3.1.0
ImportĀ upstreamĀ versionĀ 1.3.1.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /usr/bin/perl -w
 
2
#
 
3
# Marko Riedel, EDV Neue Arbeit gGmbH, mriedel@neuearbeit.de 
 
4
#
 
5
#
 
6
#
 
7
#
 
8
use POSIX qw(strtol);
 
9
 
 
10
my $command_file = '/usr/local/nagios/var/rw/nagios.cmd';
 
11
 
 
12
my $hour = (60*60);
 
13
my $next_day = (24*60*60);
 
14
 
 
15
my $downtimes = 
 
16
  [
 
17
   { 
 
18
    host => 'somehost',
 
19
    service => 'SERVICE',
 
20
    times => [ ["00:00", 9], ["18:00", 6] ]
 
21
   }
 
22
  ];
 
23
 
 
24
foreach my $entry (@$downtimes) {
 
25
  my ($secstart, $secend, $cmd, $current);
 
26
 
 
27
  $current = `/bin/date +"%s"`;
 
28
  chomp $current;
 
29
 
 
30
  foreach my $tperiod (@{ $entry->{times} }){
 
31
    $secstart = strtol(`/bin/date -d "$tperiod->[0]" +"%s"`);
 
32
    $secend   = $secstart+$tperiod->[1]*$hour;
 
33
 
 
34
    $secstart += $next_day;
 
35
    $secend   += $next_day;
 
36
 
 
37
    $cmd  = "[$current] SCHEDULE_SVC_DOWNTIME;";
 
38
    $cmd .= "$entry->{host};$entry->{service};";
 
39
    $cmd .= "$secstart;$secend;";
 
40
    $cmd .= "1;0;$0;automatically scheduled;\n";
 
41
 
 
42
    print STDERR $cmd;
 
43
 
 
44
    system "echo \"$cmd\" >> $command_file";
 
45
  }
 
46
}  
 
47