Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1


Remember Me

Directory Tree


6 votes
downtime.tarVersion 1.3
downtime-1.5.tar.gzVersion 1.5
downtime-1.6.tar.gzVersion 1.6
downtime-2.0.tarVersion 2.0
downtime-2.2.tar.gzVersion 2.2
Network Monitoring Software - Download Nagios XI
Log Management Software - Nagios Log Server - Download
Netflow Analysis Software - Nagios Network Analyzer - Download
A web-configurable recurring downtime scheduler. Configuration web pages hook into Nagios interface, with a similar look and feel. Consists of one agent run via cron, and one cgi configuration script. By Steve Shipway.

Web-configurable recurring downtime scheduler for Nagios 1 and 2 Written in Perl, requires no additional libraries.

Now includes checks to prevent re-scheduling same outage, some verification of valid host/service names, and support for Nagios 2.0

Version 2 properly supports Nagios 2, including the objects.cache file for extra speed.

V2.2 fixes bug with scheduling on Sundays and some other problems with frontend in nagios 2.2

This does not have any integrated security. It does not check for external commands being enabled. It does not check that you are authorised to the host you are scheduling for. You are advised to use your web server's authentication to at least restrice the CGI to responsible users.

Support forum on

Reviews (5)
by42bios, May 21, 2019
New version 4.0

byrjp, June 2, 2016
I was looking for a web-based possibility to schedule recurring downtime in Nagios. This addon offered exactly the things we needed.

I've used the downtime-2.2 version with our Nagios Core 4.1.1, and I can confirm that it works fine. The only things that are different in the 3.0 version, are the file and the new line in the side.php file. The script schedules the downtime in Nagios, based on the recurring schedule you provided. I haven't seen any problems with the 2.2 version of the script. Make sure you use the new line in side.php however. Nothing has changed in downtime_sched.cgi

I've followed the instructions in the 2.2 README file, and modified the files as described, but with a few additional settings. See below.


my($NAGDIR) = "/usr/local/nagios" ; # Nagios root directory
my($CFGFILE) = "$NAGDIR/etc/schedule.cfg"; # my configuration file
my($CMDFILE) = "$NAGDIR/var/rw/nagios.cmd"; # Nagios CMD file
my($OBJECTS) = "$NAGDIR/var/objects.cache"; # Nagios 2 objects file
my($DOWNDAT) = "$NAGDIR/var/downtime.dat"; # existing sched downtime

In downtime_sched.cgi:

my($NAGIOS) = "/usr/local/nagios";

my($CFGFILE) = "$NAGIOS/etc/schedule.cfg"; # My config file!
my($STATUSLOG) = "$NAGIOS/var/status.log";# if defined, check validity
my($OBJECTS) = "$NAGIOS/var/objects.cache";# if defined, use nagios2 cache

Furthermore, I've also added the following line to both sub headers parts in downtime_sched.cgi:

This will make the text style the same as the rest of the Nagios web interface.
used the downtime-2.2.tar.gz - works fine with Nagios core 4.0.5
Just needed to edit the files as in README file:
use strict;
use Time::Local;

my($VERSION) = "2.2"; # this script version

#my($NAGDIR) = "/u02/nagios" ; # Nagios root directory
my($NAGDIR) = "/usr/local/nagios" ; # Nagios root directory
my($SVCALSO) = 0; # schedule outages for services on hosts as well as hosts?

my($CFGFILE) = "$NAGDIR/etc/schedule.cfg"; # my configuration file
#my($CMDFILE) = "$NAGDIR/log/rw/nagios.cmd"; # Nagios CMD file
my($CMDFILE) = "$NAGDIR/var/rw/nagios.cmd"; # Nagios CMD file
# Define this for Nagios 2
#my($OBJECTS) = "$NAGDIR/log/objects.cache"; # Nagios 2 objects file
my($OBJECTS) = "$NAGDIR/var/objects.cache"; # Nagios 2 objects file
#my($DOWNDAT) = "$NAGDIR/log/downtime.dat"; # existing sched downtime
my($DOWNDAT) = "$NAGDIR/var/downtime.dat"; # existing sched downtime
# Or these for Nagios 1
my($STATUSLOG) = "$NAGDIR/log/status.log"; # Nagios status log file
my($HGCFG) = "$NAGDIR/etc/hostgroups.cfg";# needed if ver=1
my($DOWNLOG) = "$NAGDIR/log/downtime.log"; # existing sched downtime

my($FREQUENCY) = 1440*7; # how many minutes to look ahead. Should be at least
# 1440 (one day) and
by, December 15, 2010
Works nicely!

3.0 Link:

README says that cron will only run in the morning, but the supplied crontab runs it every minute. This is good since you won't miss a job schedule to start in the same day!
This add-on neatly adds the ability to set up recurring down-time for hosts or services with a web front-end which integrates well with the standard Nagios gui.

Version 3 of this add-on is now available for users of Nagios 3. Check out Steve's support forum at (under "Nagios: Interoperability, Plugins and Utilities") for the latest on this.