Build precise queries to find exactly what you need
Press ESC to close
Your review has been submitted and is pending approval.
Bash script plugin to alert on expiring domain names. Uses jwhois (developed on CentOS). Warning at 30 days, critical at 14.
Current Version
Last Release Date
2014-01-17
Owner
Joe McShinsky
Compatible With
##### Created by Joe McShinsky #####
#! /bin/bash
if [ $# -ne 1 ] then echo "Usage: $0 [domain name]" exit 1 fi
getDate=`jwhois $1 | grep Expir`
expireDate=`echo "$getDate" | cut -d":" -f2-22 | cut -c1-11`
currentDate=`date +%s`
expireDate=`date +%s --date="$expireDate"`
### Difference between expiration and right now timeDiffSec=`expr $expireDate - $currentDate`
### Convert to days (86400 seconds in a day) timeDiffDays=`expr $timeDiffSec / 86400`
if [ $timeDiffDays -lt 15 ] then echo "CRITICAL: $timeDiffDays Left Until Domain Expiration" exit 2 fi
if [ $timeDiffDays -lt 31 ] then echo "WARNING: $timeDiffDays Left Until Domain Expiration" exit 1 fi
if [ $timeDiffDays -gt 30 ] then echo "OK: $timeDiffDays Left Until Domain Expiration" exit 0 fi
echo "Oops! Check the script for any required updates" exit 1
Adding a few lines to better parse the expiration date.. it's a bit crude, but it's works ###### #! /bin/bash if [ $# -ne 1 ] then echo "Usage: $0 [domain name]" exit 1 fi getDate=`jwhois $1 | grep Expir` FIRST_WORD=`echo $getDate | cut -d " " -f1` case $FIRST_WORD in Registrar) expireDate=`echo $getDate | cut -d " " -f5`;; Registry) expireDate=`echo $getDate | cut -d " " -f4 | cut -d "T" -f1`;; Domain) expireDate_1=`echo $getDate | tr -s | cut -d ":" -f2-22 | sed -e 's/S*(:)S*//g' -e 's/ GMT //g'` expireDate=`date -d "$expireDate_1" +%Y-%m-%d`;; esac currentDate=`date +%s` expireDate=`date +%s --date="$expireDate"` ### Difference between expiration and right now timeDiffSec=`expr $expireDate - $currentDate` ### Convert to days (86400 seconds in a day) timeDiffDays=`expr $timeDiffSec / 86400` if [ $timeDiffDays -lt 15 ] then echo "CRITICAL: $timeDiffDays Left Until Domain Expiration" exit 2 fi if [ $timeDiffDays -lt 31 ] then echo "WARNING: $timeDiffDays Left Until Domain Expiration" exit 1 fi if [ $timeDiffDays -gt 30 ] then echo "OK: $timeDiffDays Left Until Domain Expiration" exit 0 fi
The first domain expiration plugin I managed to work somehow. But still doesn't work for all domains. It seems to be not plugin, but jWhois problem. $ ./check_jwh.sh microsoft.com CRITICAL: 0 Left Until Domain Expiration $ $ jwhois microsoft.com [Cached] [whois.markmonitor.com] $
You must be logged in to submit a review.
To:
From:
We’ve completely redesigned the world’s largest repository of Nagios plugins and monitoring tools. Join thousands of users sharing monitoring solutions for servers, applications, and everything in between.
Due to our redesign, all existing accounts require a password reset to access your account again.
Ready to explore 6,100+ projects and contribute to the community?
Reset Password Create Account
Happy Monitoring!