<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:945847207;
        mso-list-type:hybrid;
        mso-list-template-ids:-138096380 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">I’m currently running the DNSREG script. I’m querying over 250 domains and toward the end, the whois server blocks me so all of the domains after that point report red. I’m trying to figure out a way to fix that. It’s set to run every 24
 hours.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="mso-list:Ignore">1)<span style="font:7.0pt "Times New Roman"">     
</span></span><![endif]> Is there a way to set it to check 50 domains every four hours or so instead of running all of them at midnight.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="mso-list:Ignore">2)<span style="font:7.0pt "Times New Roman"">     
</span></span><![endif]>Does Xymon have a way to know when it queried the host last and then will wait, on that single host, 24 hours or will it just do all of them again after 24 hours?  I did try putting a pause in the script and it wouldn’t run at all after
 that. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="mso-list:Ignore">3)<span style="font:7.0pt "Times New Roman"">     
</span></span><![endif]>When one does fail, I would like to run it later (when the registrar block has expired) for the 10 or so hosts that failed. I tried using bbcmd to kick off the script for just that host and just that test but nothing happened. (bbcmd
 bbtest-net domain.org.dnsreg)<o:p></o:p></p>
<p class="MsoListParagraph"><o:p> </o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="mso-list:Ignore">4)<span style="font:7.0pt "Times New Roman"">     
</span></span><![endif]>I’m sure I can figure this out but if anyone knows off the top of their head: if the expires line returns blank (because no date could be found), how would I append the script to return a clear status instead of red?<o:p></o:p></p>
<p class="MsoListParagraph"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">This is how I have the script set up:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">This is the cfg entry:<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">[dnsreg]<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">        ENVFILE /usr/lib/hobbit/client/etc/hobbitclient.cfg<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">        CMD /usr/lib/hobbit/server/ext/dnsreg.sh<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">        LOGFILE $BBSERVERLOGS/bb-dnsreg.log<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">        INTERVAL 1440m<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">This is the DNSREG file<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"># Check DNS registrations in whois and warn when they are about to expire.<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">#<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"># NOTE: Requires a "whois" command that knows what servers to query.<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">#       Requires GNU date.<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">#       Should run only once a day.<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">NOW=`date "+%s"`<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">WARNTIME=`expr $NOW + 864000`        # 10 days<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">ALARMTIME=`expr $NOW + 432000`       # 5 day<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">/usr/lib/hobbit/server/bin/bbhostgrep dnsreg | while read L<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">do<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">      set $L<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">      DOMAIN=$2<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">      EXPIRESTRING="`whois $DOMAIN | egrep -i "Expires.*:|Expiration.*:|Renewal.*:|expir.*date:" | head -n 1 | cut -d: -f2- | sed -e's/^[     ]*//'`"<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">      EXPIRES=`date --date="$EXPIRESTRING" "+%s"`<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">      if test $EXPIRES -le $ALARMTIME<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">      then<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">         COLOR=red<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">      elif test $EXPIRES -le $WARNTIME<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">      then<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">         COLOR=yellow<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">      else<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">         COLOR=green<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">      fi<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">      $BB $BBDISP "status+90000 $DOMAIN.dnsreg $COLOR `date`<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">Domain $DOMAIN expires on $EXPIRESTRING<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">"<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">done<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">exit 0<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:black">John Tullis<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>