[K12OSN] bash script help

Les Mikesell les at futuresource.com
Tue Oct 30 18:04:37 UTC 2007


Doug Simpson wrote:

> I have a script that I am trying to get to work and I can't get it right. It is a script that will write the names of offline servers to a textfile.
> 
> As it is, it only does the first server and repeats, *unless* the first server is not online, in which it writes to the file and then goes on to the next one.
> How can I make it continue through the script regardless of whether or not each server is online, but still echo the text to the file if it finds one offline and then restart at the top of the list again?
> 
> The script follows.
> 
> ******************************************
> #!/bin/bash
> while (true)
> do
> #sleep 30
> if ping -i 3 -c 3 10.40.12.56
> then
> continue
> else
> echo "Doug's workstation is offline. Please check it!" >>serverdown.txt
> fi

[..lots of repeated stuff...]


I'd make a text file in the form:

ip_address <white space> text to log

And use a script like:

#!/bin/bash
while :
  sleep 30
  do
  while read ADD TEXT
  ping -i 3 -c 3 $ADD || echo $TEXT >>serverdown.txt
  done </path/to/file
done

-- 
   Les Mikesell
    lesmikesell at gmail.com




More information about the K12OSN mailing list