Sponsored Content
Top Forums Shell Programming and Scripting help to ping a host, is it alive or not ... Post 60996 by sx3v1l_1n51de on Wednesday 26th of January 2005 07:59:54 PM
Old 01-26-2005
help to ping a host, is it alive or not ...

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 Smilie, it is supossed to be running on the server all day scaning it every 5 minutes and cheking if a host is alive or not, if it isnt it will send an email to the sistems administrator.

the problem here is that when it gets to the if [ $? -ne 0 ], it executes both the if and else commands, i have been reading in several pages and i found a solution to use ping exit commands, however i already read in the unix manual that this exact aplication im trying to make is impossible to do with exit commands, here the page where i read it: http://www.rt.com/man/ping.8.html
extract from the page

"If ping does not receive any reply packets at all it will exit with code
1. On error it exits with code 2. Otherwise it exits with code 0. This
makes it possible to use the exit code to see if a host is alive or not"

the code:

#sx3v1l_1n51de
#Sistema de Monitoreo de Servidores
#CENCAR

a=1
while (test "$a"!="0")
do
for ipadr in `cat ipadress`
do
ping $ipadr
if [ $? -ne 0 ]
then
echo $ipadr" is alive"
else
echo $ipadr" is dead"
ipadr >> noresponseip

#./strike1

/*strike1 is another script that waits 1 minute and then tries to ping again if it still doesnt answer then sends the email to the admin, strike1 uses the noresponseip file to read the ip that didnt answered
i havent actually tested this part yet, what i want to do exactly is that strike1 checks the bad ip's while the other keeps scanning, im not sure about my impementation, the way i put it, does it executes and ends the ./strike1 script or it just starts it and continues scanning ip'? because i dont want it to stop for a minute an send an email evry time it founds host is not answering..*/

fi
done
done

thank you for your help Smilie
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Unable to ping host

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

QNX host cannot ping SCO host, vice versa

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. Solaris

PING - Unknown host 127.0.0.1, Unknown host localhost - Solaris 10

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

4. Solaris

unable to ping a host in another domain

Hello I have a server in it.siroe.com I added it.siroe.com in /etc/resolv.conf. I still can't ping the server. any service to restart here? any other file to edit? thx (4 Replies)
Discussion started by: melanie_pfefer
4 Replies

5. Solaris

Unable to ping Solaris VM from Xp host

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

6. IP Networking

ping can not recognize host but host command can

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

7. Solaris

able to ping all hosts but not able to traceroute any host

i am using solaris 10 and i am able to ping all the hosts but i am not able to traceroute any of them. how to fix this? (9 Replies)
Discussion started by: chidori
9 Replies

8. Shell Programming and Scripting

Ping Host Until it is up and email

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

Ping Response from the host name

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. AIX

Ping to remote host failed

Actually. I was getting a ping to remote host failed for one of my etherchannel. When I checked it was in backup adapter and again I use to faileover and brought to primary channel. But it was again going to backup channel and giving me the alert ping to remotehost failed. When I checked the load... (3 Replies)
Discussion started by: Mohamed Thamim
3 Replies
ping(1M)						  System Administration Commands						  ping(1M)

NAME
ping - send ICMP (ICMP6) ECHO_REQUEST packets to network hosts SYNOPSIS
/usr/sbin/ping host [timeout] /usr/sbin/ping -s [-l | -U] [-adlLnrRv] [-A addr_family] [-c traffic_class] [-g gateway [ -g gateway...]] [-F flow_label] [-I interval] [-i interface] [-P tos] [-p port] [-t ttl] host [data_size] [npackets] DESCRIPTION
The utility ping utilizes the ICMP (ICMP6 in IPv6) protocol's ECHO_REQUEST datagram to elicit an ICMP (ICMP6) ECHO_RESPONSE from the speci- fied host or network gateway. If host responds, ping will print: host is alive on the standard output and exit. Otherwise, after timeout seconds, it will write: no answer from host The default value of timeout is 20 seconds. When you specify the s flag, sends one datagram per second (adjust with -I) and prints one line of output for every ECHO_RESPONSE that it receives. ping produces no output if there is no response. In this second form, ping computes round trip times and packet loss statistics; it displays a summary of this information upon termination or timeout. The default data_size is 56 bytes, or you can specify a size with the data_size command-line argument. If you specify the optional npackets, ping sends ping requests until it either sends npackets requests or receives npackets replies. When using ping for fault isolation, first ping the local host to verify that the local network interface is running. OPTIONS
The following options are supported: -A addr_family Specify the address family of the target host. addr_family can be either inet or inet6. Address family determines which protocol to use. For an argument of inet, IPv4 is used. For inet6, IPv6 is used. By default, if the name of a host is provided, not the literal IP address, and a valid IPv6 address exists in the name service database, ping will use this address. Otherwise, if the name service database contains an IPv4 address, it will try the IPv4 address. Specify the address family inet or inet6 to override the default behavior. If the argument specified is inet, ping will use the IPv4 address associated with the host name. If none exists, ping will state that the host is unknown and exit. It does not try to determine if an IPv6 address exists in the name service database. If the specified argument is inet6, ping uses the IPv6 address that is associated with the host name. If none exists, ping states that the host is unknown and exits. -F flow_label Specify the flow label of probe packets. The value must be an integer in the range from 0 to 1048575. This option is valid only on IPv6. -I interval Turn on the statistics mode and specify the interval between successive transmissions. The default is one second. See the discussion of the -s option. -L Turn off loopback of multicast packets. Normally, members are in the host group on the outgoing interface, a copy of the multicast packets will be delivered to the local machine. -P tos Set the type of service (tos) in probe packets to the specified value. The default is zero. The value must be an integer in the range from 0 to 255. Gateways also in the path can route the probe packet differently, depending upon the value of tos that is set in the probe packet. This option is valid only on IPv4. -R Record route. Sets the IPv4 record route option, which stores the route of the packet inside the IPv4 header. The contents of the record route are only printed if the -v and -s options are given. They are only set on return pack- ets if the target host preserves the record route option across echos, or the -l option is given. This option is valid only on IPv4. -U Send UDP packets instead of ICMP (ICMP6) packets. ping sends UDP packets to consecutive ports expecting to receive back ICMP (ICMP6) PORT_UNREACHABLE from the target host. -a ping all addresses, both IPv4 and IPv6, of the multihomed destination. The output appears as if ping has been run once for each IP address of the destination. If this option is used together with -A, ping probes only the addresses that are of the specified address family. When used with the -s option and npackets is not specified, ping continuously probes the destination addresses in a round robin fashion. If npackets is specified, ping sends npackets number of probes to each IP address of the destination and then exits. -c traffic_class Specify the traffic class of probe packets. The value must be an integer in the range from 0 to 255. Gateways along the path can route the probe packet differently, depending upon the value of traffic_class set in the probe packet. This option is valid only on IPv6. -d Set the SO_DEBUG socket option. -g gateway Specify a loose source route gateway so that the probe packet goes through the specified host along the path to the target host. The maximum number of gateways is 8 for IPv4 and 127 for IPv6. Note that some factors such as the link MTU can further limit the number of gateways for IPv6. -i interface_address Specify the outgoing interface address to use for multicast packets for IPv4 and both multicast and unicast packets for IPv6. The default interface address for multicast packets is determined from the (unicast) routing tables. interface_address can be a literal IP address, for example, 10.123.100.99, or an interface name, for example, eri0, or an interface index, for example 2. -l Use to send the probe packet to the given host and back again using loose source routing. Usually specified with the -R option. If any gateways are specified using -g, they are visited twice, both to and from the destination. This option is ignored if the -U option is used. -n Show network addresses as numbers. ping normally does a reverse name lookup on the IP addresses it extracts from the packets received. The -n option blocks the reverse lookup, so ping prints IP addresses instead of host names. -p port Set the base UDP port number used in probes. This option is used with the -U option. The default base port number is 33434. The ping utility starts setting the destination port number of UDP packets to this base and increments it by one at each probe. -r Bypass the normal routing tables and send 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 been dropped by the router daemon. See in.routed(1M). -s Send one datagram per second and collect statistics. -t ttl Specify the IPv4 time to live, or IPv6 hop limit, for unicast and multicast packets. The default time to live (hop limit) for unicast packets can be set with the ndd module, /dev/icmp, using the icmp_ipv4_ttl variable for IPv4 and the icmp_ipv6_hoplimit variable for IPv6. The default time to live (hop limit) for multicast is one hop. See EXAM- PLES. For further information, seendd(1M). -v Verbose output. List any ICMP (ICMP6) packets, other than replies from the target host. OPERANDS
host The network host EXAMPLES
Example 1: Using ping With IPv6 This example shows ping sending probe packets to all the IPv6 addresses of the host xyz, one at a time. It sends an ICMP6 ECHO_REQUEST every second until the user interrupts it. istanbul% ping -s -A inet6 -a xyz PING xyz: 56 data bytes 64 bytes from xyz (4::114:a00:20ff:ab3d:83ed): icmp_seq=0. time=0.479 ms 64 bytes from xyz (fec0::114:a00:20ff:ab3d:83ed): icmp_seq=1. time=0.843 ms 64 bytes from xyz (4::114:a00:20ff:ab3d:83ed): icmp_seq=2. time=0.516 ms 64 bytes from xyz (fec0::114:a00:20ff:ab3d:83ed): icmp_seq=3. time=4.94 ms 64 bytes from xyz (4::114:a00:20ff:ab3d:83ed): icmp_seq=4. time=0.485 ms 64 bytes from xyz (fec0::114:a00:20ff:ab3d:83ed): icmp_seq=5. time=2.20 ms ^C ----xyz PING Statistics---- 6 packets transmitted, 6 packets received, 0% packet loss round-trip (ms) min/avg/stddev = 0.479/1.58/4.94/1.8 Example 2: Using ndd to Set the icmp_ipv6_hoplimit This example shows the ndd module, /dev/icmp, used to set the icmp_ipv6_hoplimit. # ndd -set /dev/icmp icmp_ipv6_hoplimit 100 EXIT STATUS
The following exit values are returned: 0 Successful operation; the machine is alive. non-zero An error has occurred. Either a malformed argument has been specified, or the machine was not alive. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWbip | +-----------------------------+-----------------------------+ SEE ALSO
ifconfig(1M), in.routed(1M), ndd(1M), netstat(1M), rpcinfo(1M), traceroute(1M), attributes(5), icmp(7P), icmp6(7P) SunOS 5.10 11 Mar 2004 ping(1M)
All times are GMT -4. The time now is 06:22 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy