Build precise queries to find exactly what you need
Press ESC to close
Nagios World Conference 2026: Sept. 14-17 in St. Paul, MN | Learn More
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