04-23-2007
help: infinant loop script - host ping test
need to check on some hosts and send an email if there status changes
I wanna put together a script in bash that will allow me to check the up/down state of a single host via ping
i want it to run in a continuous loop so I can just fire the script and forget about it(dont want cron to drive the script), if the host is up..then just keep pinging until its down.
At that point i want it to ping about 4 more times just ensure its not a network glitch, and if its still down send me an email. from there just keep pinging until its back online and then send me an email to let me know its up
seems easy right? not when you actually have to sit down and write (at least for me)
I've got coders block, cant seem to figure out what logic i can use to figure this out --i've been writing tons of functions and array, but am having no luck tieing them together
any help would be so very very appreciated
Tks
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi, dear all, I am rather new to Unix and have this problem where I cant seem to ping from 1 host to another. The scenerio is as follows: -
1 QNX host->Eth->1 SCO host
the SCO host is configured with it's IP
the QNX host is configured with another IP
both in the same domain, ie, 172.20.3.XX... (3 Replies)
Discussion started by: gavon
3 Replies
2. IP Networking
The problem I am facing now is that the QNX host could not ping the SCO host and vice versa. They are in the same domain, ie, 172.20.3.xx. As I am very new to Unix, I guess I must have missed out some important steps. Pls help... Thanx alot (2 Replies)
Discussion started by: gavon
2 Replies
3. Shell Programming and Scripting
hello to everyone, i was wondering if you could help me with a script im working on, it's kind of simple but i dont have a lot experience on unix comands: well, here it is:
you might apreciate the infinite while loop :D, it is supossed to be running on the server all day scaning it every 5... (12 Replies)
Discussion started by: sx3v1l_1n51de
12 Replies
4. Solaris
Hello,
I have a problem - I created a chrooted jail for one user. When I'm logged in as root, everything work fine, but when I'm logged in as a chrooted user - I have many problems:
1. When I execute the command ping, I get weird results:
bash-3.00$ usr/sbin/ping localhost ... (4 Replies)
Discussion started by: Przemek
4 Replies
5. UNIX for Dummies Questions & Answers
Hi All,
I'm doing one script on Juniper router where you have one FreeBSD Shell:
Is pinging from time to time one ethernet port of othere router and in case of fail is blocking one port entering in CLI and doing some command:
If I run this script all is working perfectly, but if I run in... (1 Reply)
Discussion started by: teigipo
1 Replies
6. Solaris
Hi All,
I am using Vmware Workstation 6.0.3 build-80004.
Guest OS: Solaris 10
Host OS : Win XP
I am getting request time out when i am trying to ping from XP ( cmd line) to Solaris VM
- I have assigned IP 192.168.50.5 in Solaris VM ( Hostname: Tower1) and it is in UP status.
... (4 Replies)
Discussion started by: saurabh84g
4 Replies
7. IP Networking
Hi,
I have a weird problem.
when ever I do ping command like for example
ping unix.comI get the following message:
# ping unix.com
ping: unknown host unix.com
but when I use host the computer is able to know the host.
# host unix.com
unix.com has address 81.17.242.186
unix.com mail is... (2 Replies)
Discussion started by: programAngel
2 Replies
8. Shell Programming and Scripting
Hi I am trying to write a script which runs until the host is up. i got it figured out that it needs to be in loop till it return $? = 0.
Not getting it through though. I am not sure about the 6th line !!!
#!/bin/sh
HOSTS="host.txt"
ping(){
for myhost in "$HOSTS"
do
ping -c -1 "$myhost"... (8 Replies)
Discussion started by: Antergen
8 Replies
9. Shell Programming and Scripting
Hi All,
I have the requirement where am pinging the server and matching the IP address with the existing IP address. Below code is returning me the IP address and my requirement is i have to see that also whether it is pinging or not
PING useipapd01 (172.22.32.87) 56(84) bytes of data.
64... (1 Reply)
Discussion started by: sharsour
1 Replies
10. Programming
help with bash script!
im am working on this script to make sure my server will stay online, so i made this script..
HOSTS="192.168.138.155"
COUNT=4
pingtest(){
for myhost in "$@"
do
ping -c "$COUNT" "$myhost" &&return 1
done
return 0
}
if pingtest $HOSTS
#100% failed... (4 Replies)
Discussion started by: mort3924
4 Replies
ping(8) System Manager's Manual ping(8)
Name
ping - send ICMP ECHO_REQUEST packets to network hosts
Syntax
/etc/ping [ options ] host [ datasize [ npackets ]]
Description
The DARPA Internet is a large and complex network of hardware connected together by gateways. The command utilizes the ICMP protocol's
mandatory ECHO_REQUEST datagram to elicit an ICMP ECHO_RESPONSE from a host or gateway. ECHO_REQUEST datagrams (pings) have an IP and ICMP
header, followed by a struct timeval, and then an arbitrary number of pad bytes used to fill out the packet. The length of the default
datagram 64 bytes, but this may be changed using the command-line option.
Typing ``ping host'' without any options will either report ``host is alive'' or ``no answer from host''. To get more statistics use the
-l option or one of the other options.
When using for fault isolation, it should first be run on the local host to verify that the local network interface is up and running.
Then, hosts and gateways further and further away should be pinged. The command with options sends one datagram per second and prints one
line of output for every ECHO_RESPONSE returned. No output is produced if there is no response. If an optional npackets is given, only
that number of requests is sent. Round-trip times and packet loss statistics are computed. When all responses have been received or the
program times out with npackets specified, or if the program is terminated with a SIGINT, a brief summary is displayed.
Options
-d Turns on SO_DEBUG flag on the socket.
-l Gives more statistics than if is used without options. Long output.
-r Bypasses the normal routing tables and sends directly to a host on an attached network. If the host is not on a directly-attached
network, an error is returned. This option can be used to ping a local host through an interface that has no route through it. For
example, after the interface was dropped by
-v Lists ICMP packets other than ECHO RESPONSE that are received. Verbose output.
Restrictions
This program is intended for use in network testing, measurement, and management. It should be used primarily for manual fault isolation.
Because of the load it could impose on the network, it is unwise to use during normal operations or from automated scripts.
See Also
netstat(1), ifconfig(8c)
ping(8)