Software to monitor domains
Loïc Grenié
loic.grenie at gmail.com
Mon Nov 17 11:41:04 UTC 2008
2008/11/17 Ray Parrish <crp at cmc.net>:
> Ray Parrish wrote:
>> Ray Parrish wrote:
>>
>>> Derek Broughton wrote:
>>>
>>>
>>>> You won't find a Linux packaged solution to just do that because it's as
>>>> simple as running a script that uses "wget" to get anything from the
>>>> site (outputting it to /dev/null) and echos a message if wget fails,
>>>> being careful to create no output at all when the wget succeeds. Stick
>>>> the script in cron, and you'll get an email every time it fails.
>>>>
>>>>
>>>>
>>>
>>>
>> Hello,
>>
>> Well, it took me a little while, but I've come up with a solution that
>> seems to work. Following is my code for two scripts I created. One
>> starts the polling of the web site, and the other stops the polling script.
>>
>> [start of PollWebSite.sh]
>> #!/bin/sh
>> cd ~/SiteCheck
>> touch go.txt
>> while [ -e go.txt ]
>> do
>> wget --connect-timeout=20 "$1" 2>/dev/null || xmessage "$1 is down";
>> rm index.html
>> sleep 10;
>> done
>> xmessage "Exiting Poll Web Site"
>> [end of PollWebSite.sh]
>>
>> [start of StopPoll.sh]
>> #!/bin/sh
>> cd ~/SiteCheck
>> rm go.txt
>> [end of StopPoll.sh]
>>
>> I'm going to change the polling interval in actual use, I set it to loop
>> fast so I could test the loop exit to be sure it worked. I of course
>> created a folder named ~/SiteCheck first, but a person could add that to
>> the script as well.
>>
>> Later, Ray Parrish
>>
>>
> Hello again,
>
> I've modified the script to play a sound file if the web site goes down,
> as well as popping up a message. I tried with the cat command first, but
> it only works with .au files, and try as I might I couldn't create an
> .au file with any software I already had, or that I installed tonight. I
> had to install the bplay command line sound file player so my script
> could play a .wav file instead. Here is the modified code -
>
> [start of PollWebSite.sh]
> #!/bin/sh
> cd ~/SiteCheck;
> touch go.txt;
> while [ -e go.txt ]
> do
> wget --connect-timeout=20 "$1" 2>/dev/null || xmessage -nearmouse
> "$1 is down";
> if [ -e index.html ]
> then rm index.html;
> else bplay 1>/dev/null 2>/dev/null sitedown.wav;
> fi
> sleep 60;
> done
> xmessage "Exiting Web Site Monitor";
> [end of PollWebSite.sh]
>
> This version tests to see if index.html was successfully downloaded, if
> it was, it deletes it and goes to sleep, if the file doesn't exist it
> plays the site down sound file, and of course the wget line pops up the
> message box as well.
You'll get the sound only if you dismiss the xmessage box I think. You could
modify things that way:
while [ -e go.txt ]
do
if wget -o /dev/null --connect-timeout=20 "$1"
then
rm index.html
else
bplay sitedown.wav >/dev/null 2>&1
xmessage -nearmouse "$1 is down"
fi
sleep 60
done
Loïc Grenié
More information about the ubuntu-users
mailing list