Nagios Exchange Nagios Exchange
  • Home
  • Directory
  • Library
  • Support
  • About

Advanced Search

Build precise queries to find exactly what you need

Search Logic

Select compatible versions

Press ESC to close

Sign In Sign Up
  • Home
  • Directory
  • Library
  • Support
  • About
Plugins4391Themes and Skins11Add-ons741Documentation283Graphics and Logos36View All Categories
LinuxSecuritySNMPFile SystemCloud
New Listings Recently Updated Listings Most Favored Listings Most Popular Listings Most Rated Listings Most Reviewed Listings
Random Project
Others check_file_sha256.pl (Advanced Nagios Plugins Collection)
0.0 (0)
6K
RSS Feed
Newest Listings Updated Listings
Top Contributors
Julien DESMAREST (6)Yoann LAMY (6)Davide Lemma (4)deskwork_itunes142 (4)Claudio Kuenzler (2)
See More
Newest Contributors
sowoii (1)Nitatemic (1)cjdepaul (1)ixs (1)messefreeze (2)
See More

Copyright © 2009-2025 Nagios Enterprises, LLC. All rights reserved.

Privacy PolicyTerms of UseTrademarks
Home > Grünwald
G

Grünwald

@gruef

User Stats

Member Since: January 10, 2011

Favorites0

Views

Projects0

No Projects Found
Schedule Downtime via cron

nice scripts but i'll fix it for 3.2.x nagios version

this fix will accept a $9 parameter for all_services or for all_hosts, so you need to run only one script from crontab #!/bin/bash # # Write a command to the Nagios command file to cause # it to schedule service downtime. # # Author: Sam Tilders [email protected] # Bugfix and adding syntax for 3.2.x nagios version # Frank Gruenwald [email protected] # # Based on the example event handler scripts and cmd.c/.cgi # # Requires: # GNU Date (for date formatting options) # Bash > 2.x (for inline variable regex substitution on the comment_data) # Notes: # 1) In order for Nagios to process any commands that # are written to the command file, you must enable # the check_external_commands option in the main # configuration file. # Caveats: # Using "date" to validate the command line date format doesn't always pick # up all mistakes in the date format. Sometimes "date" seems to invent something # that might have been what you intented. # Makes no attempt to verify the hostname or service desc before passing them to # the command pipe. Nagios seems to ignore the command if it doesn't match. # Write a command to the Nagios command file to cause # it to schedule host downtime # Example: # A cron entry to schedule downtime for the nntp service every day at 0400 while # other cron jobs (locate database update) slow the machine down. # 30 0 * * * schedule_svc_downtime news NNTP "`date --iso-8601` 04:00:00" "`date --iso-8601` 05:00:00" 1 3600 auto "while cron does things" # There are utilities such as "shellsupport" that will do date manipulation allowing shell scripts # to wrap around this command to schedule for days in advance instead of same date. usage() { echo "Usage: $0 or " echo " Times must be in the form "CCYY-MM-DD HH:mm:ss" and will probably need to be quoted." echo " fixed is either 1 or 0 and indicates that the time period is fixed and duration should be ignored" echo " length of the downtime in seconds, only used if not fixed downtime" echo " user who is requesting the downtime" echo " comment to place on the downtime, probably will need to be quoted." } if [ $# -lt 9 ]; then echo "$0: Too few parameters" usage exit 1 fi if [ $# -gt 9 ]; then echo "$0: Too many parameters" usage exit 1 fi hostname=$1 servicedesc=$2 raw_start=$3 raw_end=$4 fixed=$5 duration=$6 comment_author=$7 # command is comment with ; replaced for space comment_data=${8/;/ } echocmd="/bin/echo" CommandFile="/opt/nagios/var/rw/nagios.cmd" # get the current date/time in seconds since UNIX epoch datetimes=`date +%s` datetime="[$datetimes]" start_time=`date -d "$raw_start" +%s` if [ $? != 0 ]; then echo "Bad format for start time." usage exit 1 fi end_time=`date -d "$raw_end" +%s` if [ $? != 0 ]; then echo "Bad format for end time." usage exit 1 fi if [ $fixed != 1 -a $fixed != 0 ]; then echo "Fixed must be 1 or 0" usage exit 1 fi # create the command line to add to the command file #cmdline="$datetime SCHEDULE_SVC_DOWNTIME;$hostname;$servicedesc;$start_time;$end_time;$fixed;$duration;7200;$comment_author;$comment_data" case "$9" in all_services) cmdline="$datetime SCHEDULE_HOST_SVC_DOWNTIME;$hostname;$start_time;$end_time;$fixed;$duration;7200;$comment_author;$comment_data" ;; all_hosts) cmdline="$datetime SCHEDULE_HOST_DOWNTIME;$hostname;$start_time;$end_time;$fixed;$duration;7200;$comment_author;$comment_data" ;; esac # append the command to the end of the command file echo $cmdline >> $CommandFile

Reviewed 15 years ago

No Favorites Found

Copyright © 2009-2025 Nagios Enterprises, LLC. All rights reserved.

Privacy PolicyTerms of UseTrademarks
Home Browse Submit Profile