Sponsored Content
Full Discussion: Ping scripting
Top Forums Shell Programming and Scripting Ping scripting Post 303024357 by RudiC on Sunday 7th of October 2018 04:38:00 AM
Old 10-07-2018
Welcome to the forum.


Quote:
Originally Posted by Jeffm0342
This is my first posting here, I haven't found exactly what I'm looking for anywhere else so I'm hoping you all can help. I have a portion of script here that needs to ping two servers, then return whether they are up or down (somehow), and then echo that information. Here is what I have so far. It does echo up/down, but the information doesn't change regardless of the ping success.
Not quite true. It does change: 2 up, 0 down, if the last ping fails, 1 up, 1 down, if it succeeds.



There seems to be one basic misunderstanding: the $? variable represents the exit code of the last command executed; the before last's is overwritten. So your first ping's result is lost. So, you need to evaluate it after each ping, e.g. with another if construct. Doable, but tedious and ineffective.


How about a different approach? Collect the respective exit codes, and do some math afterwards? Like


Code:
ping -c1 -W1 192.168.0.1 > /dev/null; X1=$?
ping -c1 -W1 192.168.0.1 > /dev/null; X2=$?
echo "Servers up: $((2-X1-X2)) Servers down: $((X1+X2))"

The -q is redundant if you redirect output to /dev/null. I introduced the -W timeout option to reduce execution / waiting time.
This User Gave Thanks to RudiC For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

scripting guru's pls help me with scripting on AIX

can someone pls help me with the script for a files coming from one system to a particular directory and i want to write a script to move those files to another directory on different system by renaming the files... pls someone help me on this... thanking in anticipation.... (1 Reply)
Discussion started by: thatiprashant
1 Replies

2. UNIX for Advanced & Expert Users

can't ping IP

hi , i have problem that i can't ping machine , machine is in running state but i can't access or ping it .. but when i restarts that machine it works fine. can anybody have an idea abou this problem .. thanks (1 Reply)
Discussion started by: tahir23
1 Replies

3. Shell Programming and Scripting

Call Shell scripting from Perl Scripting.

Hi How to call a shell scripting through a Perl scripting? Actually I need some value from Shell scripting and passes in the Perl scripting. So how can i do this? (2 Replies)
Discussion started by: anupdas
2 Replies

4. What is on Your Mind?

Shell scripting vs Perl scripting

Hi all, I would like to start developping some good scripting skills. Do you think it would be best to start with shell scripting or Perl? I already got a fundation, really basics, in perl. but I am wondering what would be best to be good at first. Can you please help me determine which one to... (14 Replies)
Discussion started by: Pouchie1
14 Replies

5. What is on Your Mind?

Shell Scripting vs Perl scripting

Gents, I have been working in a Solaris/Unix environment for about 9 months. I took some linux classses online before getting the job. But, I am not very good at scripting. I want to learn how to script. Do you think that I should start with Shell scripting or Perl? I wanted to continue with... (2 Replies)
Discussion started by: Pouchie1
2 Replies

6. Web Development

Perl scripting or shell scripting?

i am going to study any one of the scripting languages mentioned above(shell 0r perl scripting) . Which is having more scope for a fresher? (1 Reply)
Discussion started by: Anna Hussie
1 Replies

7. Shell Programming and Scripting

Animation Ping on Solaris Like Cisco Ping

Hi, I develop simple animation ping script on Solaris Platform. It is like Cisco ping. Examples and source code are below. bash-3.00$ gokcell 152.155.180.8 30 Sending 30 Ping Packets to 152.155.180.8 !!!!!!!!!!!!!.!!!!!!!!!!!!!!!. % 93.33 success... % 6.66 packet loss...... (1 Reply)
Discussion started by: gokcell
1 Replies

8. Shell Programming and Scripting

How to get reason for ping failure using perls Net::Ping->new("icmp");?

Hi I am using perl to ping a list of nodes - with script below : $p = Net::Ping->new("icmp"); if ($p->ping($host,1)){ print "$host is alive.\n"; } else { print "$host is unreacheable.\n"; } $p->close();... (4 Replies)
Discussion started by: tavanagh
4 Replies

9. Shell Programming and Scripting

Scripting with arguments for ping command

This is the script I already have but I have problems with two arguments the first argument -t , I want to count 200 by the last digit of the IP address for example when I run the script ./ping.sh -t 17, the output would be192.168.0.217 is upThe second arguments --up won't work. Could anybody... (1 Reply)
Discussion started by: Roggy
1 Replies

10. Programming

Ping test sends mail when ping fails

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
OCF_PACEMAKER_PING(7)					      Pacemaker Configuration					     OCF_PACEMAKER_PING(7)

NAME
ocf_pacemaker_ping - node connectivity SYNOPSIS
[OCF_RESKEY_pidfile=string] [OCF_RESKEY_dampen=integer] [OCF_RESKEY_name=string] [OCF_RESKEY_multiplier=integer] [OCF_RESKEY_host_list=string] [OCF_RESKEY_attempts=integer] [OCF_RESKEY_timeout=integer] [OCF_RESKEY_options=string] [OCF_RESKEY_debug=string] ping [start | stop | reload | monitor | meta-data | validate-all] DESCRIPTION
Every time the monitor action is run, this resource agent records (in the CIB) the current number of ping nodes the host can connect to. It is essentially the same as pingd except that it uses the system ping tool to obtain the results. SUPPORTED PARAMETERS
OCF_RESKEY_pidfile = string [/var/run//ping-default] PID file OCF_RESKEY_dampen = integer [5s] Dampening interval The time to wait (dampening) further changes occur OCF_RESKEY_name = string [pingd] Attribute name The name of the attributes to set. This is the name to be used in the constraints. OCF_RESKEY_multiplier = integer [] Value multiplier The number by which to multiply the number of connected ping nodes by OCF_RESKEY_host_list = string [] Host list The list of ping nodes to count. Defaults to all configured ping nodes. Rarely needs to be specified. OCF_RESKEY_attempts = integer [2] no. of ping attempts Number of ping attempts, per host, before declaring it dead OCF_RESKEY_timeout = integer [2] ping timeout in seconds How long, in seconds, to wait before declaring a ping lost OCF_RESKEY_options = string [] Extra Options A catch all for any other options that need to be passed to ping. OCF_RESKEY_debug = string [false] Verbose logging Enables to use default attrd_updater verbose logging on every call. AUTHOR
Andrew Beekhof <andrew@beekhof.net> Author. Pacemaker Configuration 07/05/2010 OCF_PACEMAKER_PING(7)
All times are GMT -4. The time now is 01:32 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy