add icinga downtime scheduling script, add whois script, optimize mailbox usage
This commit is contained in:
parent
23d5fc6e4d
commit
6c054f63ca
3 changed files with 92 additions and 3 deletions
44
icinga_downtime.sh
Normal file
44
icinga_downtime.sh
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Schedule a custom downtime
|
||||
|
||||
icinga_user="FIXME"
|
||||
icinga_pw="FIXME"
|
||||
cgi_path="https://example.org/icinga/cgi-bin/cmd.cgi?"
|
||||
commandfile='/var/spool/icinga/cmd/icinga.cmd'
|
||||
|
||||
if [ -z $1 ]; then $0 -h; exit 1; fi
|
||||
|
||||
while getopts ":s:d:h" opt; do
|
||||
case $opt in
|
||||
s)
|
||||
tmp=$(echo "$OPTARG" | sed 's/,/ /g')
|
||||
vm=($tmp) # convert $tmp to array
|
||||
;;
|
||||
d)
|
||||
duration=$OPTARG
|
||||
;;
|
||||
h)
|
||||
echo "Usage: $(basename $0) -s VM1[,VM2] -d DURATION IN SECONDS"
|
||||
exit 0
|
||||
;;
|
||||
\?)
|
||||
echo "Invalid option: -$OPTARG" >&2
|
||||
exit 1
|
||||
;;
|
||||
:)
|
||||
echo "Option -$OPTARG requires an argument." >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
now=$(date +%s)
|
||||
now_h=$(date -d @$now +"%m-%d-%Y %H:%M:%S")
|
||||
to=$(($now+$duration))
|
||||
to_h=$(date -d @$to +"%m-%d-%Y %H:%M:%S")
|
||||
|
||||
for system in "${vm[@]}"; do
|
||||
url="fixed=1&cmd_typ=86&cmd_mod=2&start_time=$now_h&end_time=$to_h&host=$system&com_author=FIXME&com_data=Automated%20downtime&btnSubmit=Commit"
|
||||
$(which curl) -v -u "$icinga_user":"$icinga_pw" "$cgi_path" -d "$url"
|
||||
done
|
||||
Loading…
Add table
Add a link
Reference in a new issue