dnsreg script question
list Russell Blumenthal
I am having an issue trying to get the dnsreg script working. I install
it and all and when I go to test it I get this (I took out my domain).
Any help would be appreciated.
Thanks
./dnsreg.sh: line 31: status+90000 mydomain.com.dnsreg red Thu Sep 20
17:27:42 EDT 2012
Domain mydomain.com expires on
: command not found
The script looks like this:
#!/bin/sh
# Check DNS registrations in whois and warn when they are about to
expire.
#
# NOTE: Requires a "whois" command that knows what servers to query.
# Requires GNU date.
# Should run only once a day.
NOW=`date "+%s"`
WARNTIME=`expr $NOW + 864000` # 10 days
ALARMTIME=`expr $NOW + 432000` # 5 day
/home/xymon/server/bin/xymongrep dnsreg | while read L
do
set $L
DOMAIN=$2
EXPIRESTRING="`whois $DOMAIN | egrep -i
"Expires.*:|Expiration.*:|Renewal.*:" | head -n 1 | cut -d: -f2 | sed
-e's/^[ ]*//'`"
EXPIRES=`date --date="$EXPIRESTRING" "+%s"`
if test $EXPIRES -le $ALARMTIME
then
COLOR=red
elif test $EXPIRES -le $WARNTIME
then
COLOR=yellow
else
COLOR=green
fi
$XYMON $XYMDISP "status+90000 $DOMAIN.dnsreg $COLOR `date`
Domain $DOMAIN expires on $EXPIRESTRING
"
done
list Darin D [eit] Dugan
I'm guessing you don't have 'whois' available or in the path.
▸
From: xymon-bounces at xymon.com [mailto:xymon-bounces at xymon.com] On Behalf Of Russell Blumenthal
Sent: Thursday, September 20, 2012 4:30 PM
To: xymon at xymon.com
Subject: [Xymon] dnsreg script question
I am having an issue trying to get the dnsreg script working. I install it and all and when I go to test it I get this (I took out my domain). Any help would be appreciated.
Thanks
./dnsreg.sh: line 31: status+90000 mydomain.com.dnsreg red Thu Sep 20 17:27:42 EDT 2012
Domain mydomain.com expires on
: command not found
The script looks like this:
#!/bin/sh
# Check DNS registrations in whois and warn when they are about to expire.
#
# NOTE: Requires a "whois" command that knows what servers to query.
# Requires GNU date.
# Should run only once a day.
NOW=`date "+%s"`
WARNTIME=`expr $NOW + 864000` # 10 days
ALARMTIME=`expr $NOW + 432000` # 5 day
/home/xymon/server/bin/xymongrep dnsreg | while read L
do
set $L
DOMAIN=$2
EXPIRESTRING="`whois $DOMAIN | egrep -i "Expires.*:|Expiration.*:|Renewal.*:" | head -n 1 | cut -d: -f2 | sed -e's/^[ ]*//'`"
EXPIRES=`date --date="$EXPIRESTRING" "+%s"`
if test $EXPIRES -le $ALARMTIME
then
COLOR=red
elif test $EXPIRES -le $WARNTIME
then
COLOR=yellow
else
COLOR=green
fi
$XYMON $XYMDISP "status+90000 $DOMAIN.dnsreg $COLOR `date`
Domain $DOMAIN expires on $EXPIRESTRING
"
done
list Russell Blumenthal
I installed 'whois' and I am able to do a manual query 'whois domain.com'. but unable to run the script manually to test it.
▸
From: Dugan, Darin D [EIT] [mailto:user-b33a1547d27a@xymon.invalid]
Sent: Friday, September 21, 2012 9:05 AM
To: Russell Blumenthal; xymon at xymon.com
Subject: RE: dnsreg script question
I'm guessing you don't have 'whois' available or in the path.
From: xymon-bounces at xymon.com [mailto:xymon-bounces at xymon.com] On Behalf
Of Russell Blumenthal
Sent: Thursday, September 20, 2012 4:30 PM
To: xymon at xymon.com
Subject: [Xymon] dnsreg script question
I am having an issue trying to get the dnsreg script working. I install
it and all and when I go to test it I get this (I took out my domain).
Any help would be appreciated.
Thanks
./dnsreg.sh: line 31: status+90000 mydomain.com.dnsreg red Thu Sep 20
17:27:42 EDT 2012
Domain mydomain.com expires on
: command not found
The script looks like this:
#!/bin/sh
# Check DNS registrations in whois and warn when they are about to
expire.
#
# NOTE: Requires a "whois" command that knows what servers to query.
# Requires GNU date.
# Should run only once a day.
NOW=`date "+%s"`
WARNTIME=`expr $NOW + 864000` # 10 days
ALARMTIME=`expr $NOW + 432000` # 5 day
/home/xymon/server/bin/xymongrep dnsreg | while read L
do
set $L
DOMAIN=$2
EXPIRESTRING="`whois $DOMAIN | egrep -i
"Expires.*:|Expiration.*:|Renewal.*:" | head -n 1 | cut -d: -f2 | sed
-e's/^[ ]*//'`"
EXPIRES=`date --date="$EXPIRESTRING" "+%s"`
if test $EXPIRES -le $ALARMTIME
then
COLOR=red
elif test $EXPIRES -le $WARNTIME
then
COLOR=yellow
else
COLOR=green
fi
$XYMON $XYMDISP "status+90000 $DOMAIN.dnsreg $COLOR `date`
Domain $DOMAIN expires on $EXPIRESTRING
"
done
list Darin D [eit] Dugan
Rereading your message, it seems perhaps $XYMON or $XYMDISP are not populated. Are you running this under xymoncmd to set the environment? I run from cron daily with: /home/xymon/server/bin/xymoncmd --env=/home/xymon/server/etc/xymonserver.cfg /home/xymon/server/ext/dnsreg A few other differences in my script: 1. I'm using $XYMSRV instead of $XYMDISP. Hmm...I don't have a $XYMDISP anywhere, maybe $BBDISP wasn't updated to $XYMSRV properly? 2. Added a "sleep 60" command before "done". Whois seems to get angry with me if I query a bunch of domains in quick succession. 3. Had to modify the sed commands for EXPIRESTRING: EXPIRESTRING="`whois $DOMAIN | egrep -i "Expires.*:|Expiration.*:|Renewal.*:" | head -n 1 | cut -d: -f2 | sed -e's/^\s*//' | sed -e's/\s.*//'`" Cheers.
▸
From: Russell Blumenthal [mailto:user-b99daaa10117@xymon.invalid]
Sent: Friday, September 21, 2012 8:09 AM
To: Dugan, Darin D [EIT]; xymon at xymon.com
Subject: RE: dnsreg script question
I installed 'whois' and I am able to do a manual query 'whois domain.com'. but unable to run the script manually to test it.
From: Dugan, Darin D [EIT] [mailto:user-b33a1547d27a@xymon.invalid]
Sent: Friday, September 21, 2012 9:05 AM
To: Russell Blumenthal; xymon at xymon.com<mailto:xymon at xymon.com>
Subject: RE: dnsreg script question
I'm guessing you don't have 'whois' available or in the path.
From: xymon-bounces at xymon.com<mailto:xymon-bounces at xymon.com> [mailto:xymon-bounces at xymon.com] On Behalf Of Russell Blumenthal
Sent: Thursday, September 20, 2012 4:30 PM
To: xymon at xymon.com<mailto:xymon at xymon.com>
Subject: [Xymon] dnsreg script question
I am having an issue trying to get the dnsreg script working. I install it and all and when I go to test it I get this (I took out my domain). Any help would be appreciated.
Thanks
./dnsreg.sh: line 31: status+90000 mydomain.com.dnsreg red Thu Sep 20 17:27:42 EDT 2012
Domain mydomain.com expires on
: command not found
The script looks like this:
#!/bin/sh
# Check DNS registrations in whois and warn when they are about to expire.
#
# NOTE: Requires a "whois" command that knows what servers to query.
# Requires GNU date.
# Should run only once a day.
NOW=`date "+%s"`
WARNTIME=`expr $NOW + 864000` # 10 days
ALARMTIME=`expr $NOW + 432000` # 5 day
/home/xymon/server/bin/xymongrep dnsreg | while read L
do
set $L
DOMAIN=$2
EXPIRESTRING="`whois $DOMAIN | egrep -i "Expires.*:|Expiration.*:|Renewal.*:" | head -n 1 | cut -d: -f2 | sed -e's/^[ ]*//'`"
EXPIRES=`date --date="$EXPIRESTRING" "+%s"`
if test $EXPIRES -le $ALARMTIME
then
COLOR=red
elif test $EXPIRES -le $WARNTIME
then
COLOR=yellow
else
COLOR=green
fi
$XYMON $XYMDISP "status+90000 $DOMAIN.dnsreg $COLOR `date`
Domain $DOMAIN expires on $EXPIRESTRING
"
done
list Russell Blumenthal
Ok let me tweak it around. What does this line do anyhow? I keep seeing that pop up and then the error about command being not found thanks "status+90000 $DOMAIN.dnsreg $COLOR `date`
▸
From: Dugan, Darin D [EIT] [mailto:user-b33a1547d27a@xymon.invalid]
Sent: Friday, September 21, 2012 10:50 AM
To: Russell Blumenthal; xymon at xymon.com
Subject: RE: dnsreg script question
Rereading your message, it seems perhaps $XYMON or $XYMDISP are not
populated. Are you running this under xymoncmd to set the environment? I
run from cron daily with:
/home/xymon/server/bin/xymoncmd
--env=/home/xymon/server/etc/xymonserver.cfg
/home/xymon/server/ext/dnsreg
A few other differences in my script:
1. I'm using $XYMSRV instead of $XYMDISP. Hmm...I don't have a
$XYMDISP anywhere, maybe $BBDISP wasn't updated to $XYMSRV properly?
2. Added a "sleep 60" command before "done". Whois seems to get
angry with me if I query a bunch of domains in quick succession.
3. Had to modify the sed commands for EXPIRESTRING:
EXPIRESTRING="`whois $DOMAIN | egrep -i
"Expires.*:|Expiration.*:|Renewal.*:" | head -n 1 | cut -d: -f2 | sed
-e's/^\s*//' | sed -e's/\s.*//'`"
Cheers.
From: Russell Blumenthal [mailto:user-b99daaa10117@xymon.invalid]
Sent: Friday, September 21, 2012 8:09 AM
To: Dugan, Darin D [EIT]; xymon at xymon.com
Subject: RE: dnsreg script question
I installed 'whois' and I am able to do a manual query 'whois
domain.com'. but unable to run the script manually to test it.
From: Dugan, Darin D [EIT] [mailto:user-b33a1547d27a@xymon.invalid]
Sent: Friday, September 21, 2012 9:05 AM
To: Russell Blumenthal; xymon at xymon.com
Subject: RE: dnsreg script question
I'm guessing you don't have 'whois' available or in the path.
From: xymon-bounces at xymon.com [mailto:xymon-bounces at xymon.com] On Behalf
Of Russell Blumenthal
Sent: Thursday, September 20, 2012 4:30 PM
To: xymon at xymon.com
Subject: [Xymon] dnsreg script question
I am having an issue trying to get the dnsreg script working. I install
it and all and when I go to test it I get this (I took out my domain).
Any help would be appreciated.
Thanks
./dnsreg.sh: line 31: status+90000 mydomain.com.dnsreg red Thu Sep 20
17:27:42 EDT 2012
Domain mydomain.com expires on
: command not found
The script looks like this:
#!/bin/sh
# Check DNS registrations in whois and warn when they are about to
expire.
#
# NOTE: Requires a "whois" command that knows what servers to query.
# Requires GNU date.
# Should run only once a day.
NOW=`date "+%s"`
WARNTIME=`expr $NOW + 864000` # 10 days
ALARMTIME=`expr $NOW + 432000` # 5 day
/home/xymon/server/bin/xymongrep dnsreg | while read L
do
set $L
DOMAIN=$2
EXPIRESTRING="`whois $DOMAIN | egrep -i
"Expires.*:|Expiration.*:|Renewal.*:" | head -n 1 | cut -d: -f2 | sed
-e's/^[ ]*//'`"
EXPIRES=`date --date="$EXPIRESTRING" "+%s"`
if test $EXPIRES -le $ALARMTIME
then
COLOR=red
elif test $EXPIRES -le $WARNTIME
then
COLOR=yellow
else
COLOR=green
fi
$XYMON $XYMDISP "status+90000 $DOMAIN.dnsreg $COLOR `date`
Domain $DOMAIN expires on $EXPIRESTRING
"
done
list Darin D [eit] Dugan
The line in your last message is incomplete. The whole command is: $XYMON $XYMSRV "status+90000 $DOMAIN.dnsreg $COLOR `date` Domain $DOMAIN expires on $EXPIRESTRING " Which translates to something like: /home/xymon/server/bin/xymon 1.2.3.4 "status+9000 domain.com.dnsreg green Fri Sep 21 11:45:06 CDT 2012 Domain domain.com expires on 30-Nov-2012 " Which means the 'xymon' program is sending to the xymon server on 1.2.3.4, everything in double quotes. Which happens to be a status message for host domain.com, test dnsreg, green status, then the extra text of the date, blank line, "Domain ....". When the test appears in the web pages the status will be reflected and the extra text will be shown on screen.
▸
Cheers.
From: Russell Blumenthal [mailto:user-b99daaa10117@xymon.invalid]
Sent: Friday, September 21, 2012 11:11 AM
To: Dugan, Darin D [EIT]; xymon at xymon.com
Subject: RE: dnsreg script question
Ok let me tweak it around. What does this line do anyhow? I keep seeing that pop up and then the error about command being not found
thanks
"status+90000 $DOMAIN.dnsreg $COLOR `date`
From: Dugan, Darin D [EIT] [mailto:user-b33a1547d27a@xymon.invalid]
Sent: Friday, September 21, 2012 10:50 AM
To: Russell Blumenthal; xymon at xymon.com<mailto:xymon at xymon.com>
Subject: RE: dnsreg script question
Rereading your message, it seems perhaps $XYMON or $XYMDISP are not populated. Are you running this under xymoncmd to set the environment? I run from cron daily with:
/home/xymon/server/bin/xymoncmd --env=/home/xymon/server/etc/xymonserver.cfg /home/xymon/server/ext/dnsreg
A few other differences in my script:
1. I'm using $XYMSRV instead of $XYMDISP. Hmm...I don't have a $XYMDISP anywhere, maybe $BBDISP wasn't updated to $XYMSRV properly?
2. Added a "sleep 60" command before "done". Whois seems to get angry with me if I query a bunch of domains in quick succession.
3. Had to modify the sed commands for EXPIRESTRING:
EXPIRESTRING="`whois $DOMAIN | egrep -i "Expires.*:|Expiration.*:|Renewal.*:" | head -n 1 | cut -d: -f2 | sed -e's/^\s*//' | sed -e's/\s.*//'`"
Cheers.
From: Russell Blumenthal [mailto:user-b99daaa10117@xymon.invalid]
Sent: Friday, September 21, 2012 8:09 AM
To: Dugan, Darin D [EIT]; xymon at xymon.com<mailto:xymon at xymon.com>
Subject: RE: dnsreg script question
I installed 'whois' and I am able to do a manual query 'whois domain.com'. but unable to run the script manually to test it.
From: Dugan, Darin D [EIT] [mailto:user-b33a1547d27a@xymon.invalid]
Sent: Friday, September 21, 2012 9:05 AM
To: Russell Blumenthal; xymon at xymon.com<mailto:xymon at xymon.com>
Subject: RE: dnsreg script question
I'm guessing you don't have 'whois' available or in the path.
From: xymon-bounces at xymon.com<mailto:xymon-bounces at xymon.com> [mailto:xymon-bounces at xymon.com] On Behalf Of Russell Blumenthal
Sent: Thursday, September 20, 2012 4:30 PM
To: xymon at xymon.com<mailto:xymon at xymon.com>
Subject: [Xymon] dnsreg script question
I am having an issue trying to get the dnsreg script working. I install it and all and when I go to test it I get this (I took out my domain). Any help would be appreciated.
Thanks
./dnsreg.sh: line 31: status+90000 mydomain.com.dnsreg red Thu Sep 20 17:27:42 EDT 2012
Domain mydomain.com expires on
: command not found
The script looks like this:
#!/bin/sh
# Check DNS registrations in whois and warn when they are about to expire.
#
# NOTE: Requires a "whois" command that knows what servers to query.
# Requires GNU date.
# Should run only once a day.
NOW=`date "+%s"`
WARNTIME=`expr $NOW + 864000` # 10 days
ALARMTIME=`expr $NOW + 432000` # 5 day
/home/xymon/server/bin/xymongrep dnsreg | while read L
do
set $L
DOMAIN=$2
EXPIRESTRING="`whois $DOMAIN | egrep -i "Expires.*:|Expiration.*:|Renewal.*:" | head -n 1 | cut -d: -f2 | sed -e's/^[ ]*//'`"
EXPIRES=`date --date="$EXPIRESTRING" "+%s"`
if test $EXPIRES -le $ALARMTIME
then
COLOR=red
elif test $EXPIRES -le $WARNTIME
then
COLOR=yellow
else
COLOR=green
fi
$XYMON $XYMDISP "status+90000 $DOMAIN.dnsreg $COLOR `date`
Domain $DOMAIN expires on $EXPIRESTRING
"
done
list Nicolas Lienard
hi To debug your script; run it like that: sh -x ./dnsreg.sh you ll see where the error is directly. don't forget to load xymon env before : ~xymon/server/bin/xymoncmd cheers nico
▸
Le 20 sept. 2012 à 23:29, Russell Blumenthal a écrit :
I am having an issue trying to get the dnsreg script working. I install it and all and when I go to test it I get this (I took out my domain). Any help would be appreciated.
Thanks
./dnsreg.sh: line 31: status+90000 mydomain.com.dnsreg red Thu Sep 20 17:27:42 EDT 2012
Domain mydomain.com expires on
: command not found
The script looks like this:
#!/bin/sh
# Check DNS registrations in whois and warn when they are about to expire.
#
# NOTE: Requires a "whois" command that knows what servers to query.
# Requires GNU date.
# Should run only once a day.
NOW=`date "+%s"`
WARNTIME=`expr $NOW + 864000` # 10 days
ALARMTIME=`expr $NOW + 432000` # 5 day
/home/xymon/server/bin/xymongrep dnsreg | while read L
do
set $L
DOMAIN=$2
EXPIRESTRING="`whois $DOMAIN | egrep -i "Expires.*:|Expiration.*:|Renewal.*:" | head -n 1 | cut -d: -f2 | sed -e's/^[ ]*//'`"
EXPIRES=`date --date="$EXPIRESTRING" "+%s"`
if test $EXPIRES -le $ALARMTIME
then
COLOR=red
elif test $EXPIRES -le $WARNTIME
then
COLOR=yellow
else
COLOR=green
fi
$XYMON $XYMDISP "status+90000 $DOMAIN.dnsreg $COLOR `date`
Domain $DOMAIN expires on $EXPIRESTRING
"
done
list John Tullis
Apologies for resurrecting an old thread. I added the sleep to the command because I'm running bbcmd on a few hundred domains. The script failed to run and I'm not sure why. My other issue is that there are a few domains that I want to run individually instead of it running the script on all the domains. Is there a way to kick off a test for a single host? I tried using "bbcmd hobbitd_alert --test domain.com dnsreg" but that only told me what alert rules applied to this but didn't update anything. Is there some command where I can tell a specific domain to do a fresh dnsreg? John Tullis
▸
Ok let me tweak it around. What does this line do anyhow? I keep seeing
that pop up and then the error about command being not found
thanks
"status+90000 $DOMAIN.dnsreg $COLOR `date`
From: Dugan, Darin D [EIT] [mailto:user-b33a1547d27a@xymon.invalid<
Sent: Friday, September 21, 2012 10:50 AM
To: Russell Blumenthal; xymon at xymon.com<
Subject: RE: dnsreg script question
Rereading your message, it seems perhaps $XYMON or $XYMDISP are not
populated. Are you running this under xymoncmd to set the environment? I
run from cron daily with:
/home/xymon/server/bin/xymoncmd
--env=/home/xymon/server/etc/xymonserver.cfg
/home/xymon/server/ext/dnsreg
A few other differences in my script:
1. I'm using $XYMSRV instead of $XYMDISP. Hmm...I don't have a
$XYMDISP anywhere, maybe $BBDISP wasn't updated to $XYMSRV properly?
2. Added a "sleep 60" command before "done". Whois seems to get
angry with me if I query a bunch of domains in quick succession.
3. Had to modify the sed commands for EXPIRESTRING:
EXPIRESTRING="`whois $DOMAIN | egrep -i
"Expires.*:|Expiration.*:|Renewal.*:" | head -n 1 | cut -d: -f2 | sed
-e's/^\s*//' | sed -e's/\s.*//'`"
Cheers.
From: Russell Blumenthal [mailto:user-b99daaa10117@xymon.invalid<
Sent: Friday, September 21, 2012 8:09 AM
To: Dugan, Darin D [EIT]; xymon at xymon.com<
Subject: RE: dnsreg script question
I installed 'whois' and I am able to do a manual query 'whois
domain.com'. but unable to run the script manually to test it.
From: Dugan, Darin D [EIT] [mailto:user-b33a1547d27a@xymon.invalid<
Sent: Friday, September 21, 2012 9:05 AM
To: Russell Blumenthal; xymon at xymon.com<
Subject: RE: dnsreg script question
I'm guessing you don't have 'whois' available or in the path.
From: xymon-bounces at xymon.com< [mailto:xymon-bounces at xymon.com< On Behalf
Of Russell Blumenthal
Sent: Thursday, September 20, 2012 4:30 PM
To: xymon at xymon.com<
Subject: [Xymon] dnsreg script question
I am having an issue trying to get the dnsreg script working. I install
it and all and when I go to test it I get this (I took out my domain).
Any help would be appreciated.
Thanks
./dnsreg.sh: line 31: status+90000 mydomain.com.dnsreg red Thu Sep 20
17:27:42 EDT 2012
Domain mydomain.com expires on
: command not found
The script looks like this:
#!/bin/sh
# Check DNS registrations in whois and warn when they are about to
expire.
#
# NOTE: Requires a "whois" command that knows what servers to query.
# Requires GNU date.
# Should run only once a day.
NOW=`date "+%s"`
WARNTIME=`expr $NOW + 864000` # 10 days
ALARMTIME=`expr $NOW + 432000` # 5 day
/home/xymon/server/bin/xymongrep dnsreg | while read L
do
set $L
DOMAIN=$2
EXPIRESTRING="`whois $DOMAIN | egrep -i
"Expires.*:|Expiration.*:|Renewal.*:" | head -n 1 | cut -d: -f2 | sed
-e's/^[ ]*//'`"
EXPIRES=`date --date="$EXPIRESTRING" "+%s"`
if test $EXPIRES -le $ALARMTIME
then
COLOR=red
elif test $EXPIRES -le $WARNTIME
then
COLOR=yellow
else
COLOR=green
fi
$XYMON $XYMDISP "status+90000 $DOMAIN.dnsreg $COLOR `date`
Domain $DOMAIN expires on $EXPIRESTRING
"
done
list Japheth Cleaver
▸
On Tue, March 24, 2015 11:50 am, John Tullis wrote:
Apologies for resurrecting an old thread. I added the sleep to the command because I'm running bbcmd on a few hundred domains. The script failed to run and I'm not sure why. My other issue is that there are a few domains that I want to run individually instead of it running the script on all the domains. Is there a way to kick off a test for a single host? I tried using "bbcmd hobbitd_alert --test domain.com dnsreg" but that only told me what alert rules applied to this but didn't update anything. Is there some command where I can tell a specific domain to do a fresh dnsreg? John Tullis
John, There's no direct way to tell xymon to "re-run" a test, primarily because there's no central scheduling/dispatch mechanism. (In the parlance of some other monitoring systems, everything is a 'passive test'.) In this case, the script is running 'xymongrep dnsreg' and looping over the results, so if you wanted to hack a single host run out of this you'd want to edit that line to read something like this instead:
/home/xymon/server/bin/xymongrep dnsreg | grep domain.com | while read L
Save a copy, then run it as you had before: bbcmd /path/to/your/dnsreg/script Running xymond_alert that way is unnecessary since, as you discovered, that simply runs a test against the alerting config :) A key point is that running the original script is sufficient to send a xymon message back in to your system, regardless if it's running against your entire config file or just a single server. As long as the rest of your system is up, xymond will receive the message and send it off to xymond_alert just like normal. (Side note: Given how common xymongrep usage is in server-side scripts, this is something that might be helped by allowing an environment variable override to force an additional filter to be applied. It probably wouldn't be too difficult to put in, and it would make "one-off" runs of server scripts using that template much easier.) Hope this helps! -jc
▸
Ok let me tweak it around. What does this line do anyhow? I keep seeing that pop up and then the error about command being not found thanks "status+90000 $DOMAIN.dnsreg $COLOR `date`
From: Dugan, Darin D [EIT] [mailto:dddugan at
iastate.edu<
▸
Sent: Friday, September 21, 2012 10:50 AM
To: Russell Blumenthal; xymon at
xymon.com<
Subject: RE: dnsreg script question
Rereading your message, it seems perhaps $XYMON or $XYMDISP are not
populated. Are you running this under xymoncmd to set the environment? I
run from cron daily with:
/home/xymon/server/bin/xymoncmd
--env=/home/xymon/server/etc/xymonserver.cfg
/home/xymon/server/ext/dnsreg
A few other differences in my script:
1. I'm using $XYMSRV instead of $XYMDISP. Hmm...I don't have a
$XYMDISP anywhere, maybe $BBDISP wasn't updated to $XYMSRV properly?
2. Added a "sleep 60" command before "done". Whois seems to get
angry with me if I query a bunch of domains in quick succession.
3. Had to modify the sed commands for EXPIRESTRING:
EXPIRESTRING="`whois $DOMAIN | egrep -i
"Expires.*:|Expiration.*:|Renewal.*:" | head -n 1 | cut -d: -f2 | sed
-e's/^\s*//' | sed -e's/\s.*//'`"
Cheers.
From: Russell Blumenthal [mailto:rblumenthal at
telmar.com<
▸
Sent: Friday, September 21, 2012 8:09 AM
To: Dugan, Darin D [EIT]; xymon at
xymon.com<
Subject: RE: dnsreg script question
I installed 'whois' and I am able to do a manual query 'whois
domain.com'. but unable to run the script manually to test it.
From: Dugan, Darin D [EIT] [mailto:dddugan at
iastate.edu<
▸
Sent: Friday, September 21, 2012 9:05 AM
To: Russell Blumenthal; xymon at
xymon.com<
Subject: RE: dnsreg script question
I'm guessing you don't have 'whois' available or in the path.
From: xymon-bounces at
xymon.com<
[mailto:xymon-bounces at
xymon.com< On Behalf
Of Russell Blumenthal
Sent: Thursday, September 20, 2012 4:30 PM
To: xymon at xymon.com<
Subject: [Xymon] dnsreg script question
I am having an issue trying to get the dnsreg script working. I install
it and all and when I go to test it I get this (I took out my domain).
Any help would be appreciated.
Thanks
./dnsreg.sh: line 31: status+90000 mydomain.com.dnsreg red Thu Sep 20
17:27:42 EDT 2012
Domain mydomain.com expires on
: command not found
The script looks like this:
#!/bin/sh
# Check DNS registrations in whois and warn when they are about to
expire.
#
# NOTE: Requires a "whois" command that knows what servers to query.
# Requires GNU date.
# Should run only once a day.
NOW=`date "+%s"`
WARNTIME=`expr $NOW + 864000` # 10 days
ALARMTIME=`expr $NOW + 432000` # 5 day
/home/xymon/server/bin/xymongrep dnsreg | while read L
do
set $L
DOMAIN=$2
EXPIRESTRING="`whois $DOMAIN | egrep -i
"Expires.*:|Expiration.*:|Renewal.*:" | head -n 1 | cut -d: -f2 | sed
-e's/^[ ]*//'`"
EXPIRES=`date --date="$EXPIRESTRING" "+%s"`
if test $EXPIRES -le $ALARMTIME
then
COLOR=red
elif test $EXPIRES -le $WARNTIME
then
COLOR=yellow
else
COLOR=green
fi
$XYMON $XYMDISP "status+90000 $DOMAIN.dnsreg $COLOR `date`
Domain $DOMAIN expires on $EXPIRESTRING
"
done