Sponsored Content
Full Discussion: Ssh on ping result?
Top Forums Shell Programming and Scripting Ssh on ping result? Post 303026409 by MuntyScrunt on Tuesday 27th of November 2018 09:49:43 AM
Old 11-27-2018
Ssh on ping result?

I still haven't had chance to read the entire Debian manual, which I promise I will do as soon as I can, and I will start putting info back into this forum.

However, for the mean time, could someone please help with a small script? I understand what I've got to do and how to do it, but I'm struggling with getting the syntax right.

I have a loads of nodes I need to connect to from time to time, but I'm never sure if they're alive. So instead of ssh'ing and waiting ages to either get a connection, or not, I'd sooner start with a ping, if there is a good response, set off the ssh. At this point I might have 10 terminal sessions open for different nodes, so I want to automate as much as possible.

So the pseudo would be:

User types:
con user@192.168.xxx.xxx

Code:
#!/bin/bash
Strip ip from $1 to str-IP
Start loop from 1 to 10 (arbitrary):
Create a bln-Connection variable and set value = False
Start loop from 1 to 10 (Arbitrary)
--Ping the str-IP
--If response | grep includes ttl or time, or ms I guess:
----set bln-Connection = True
----exit the loop

If bln-Connection = True:
--ssh $1
else
--echo "The blooming thing is down again."

Something like that. I hope that's clear enough, and I know I'm using about 3 different languages, just none of it bash!

Many, many thanks.

Moderator's Comments:
Mod Comment edit by bakunin: Please use CODE-tags, even for Pseudo-code. Thank you.

Last edited by bakunin; 11-28-2018 at 07:39 AM..
 

10 More Discussions You Might Find Interesting

1. Linux

Can't SSH / ping Linux box !!!

I have a linux box build11 which can be pinged from build18 (Windows) box. And we can only login to the box (using SSH) from build18 box. Plz help to characterize the problem, network, DNS, DHCP, etc (or whatever which I am unsure) Any idea what may be the reason ? :confused: Thanks in... (4 Replies)
Discussion started by: csaha
4 Replies

2. Shell Programming and Scripting

Problem storing SSH result in a variable

i have this SSH command which runs perfectly on command prompt in sunOS ssh -o Port=${portno} ${uname}@${server} find ${dir_path} -name '***' output : /usr/local/home/*** My problem is when i run same command in my script #!/usr/bin/ksh res=`ssh -o Port=${portno} ${uname}@${server}... (1 Reply)
Discussion started by: prash184u
1 Replies

3. Solaris

could not ssh and ping

hi , i cannot ssh to a server , i have restarted the ssh instances also. and i cannot ping to the server.. any ideas ..plz (5 Replies)
Discussion started by: jegaraman
5 Replies

4. Solaris

could not ssh and ping

Hi, I have a solaris 8 machine. I see ssh is running in the machine sbnismwp2# ps -aef | grep ssh root 947 945 0 04:34:45 ? 0:00 /export/opt/SSHtecagt/sbin/ssh-mgmt-sysmonitor root 945 1 0 04:34:45 ? 0:00 /export/opt/SSHtecagt/sbin/ssh-mgmt-agent... (11 Replies)
Discussion started by: jegaraman
11 Replies

5. Shell Programming and Scripting

prevent ssh from executing result in shell

Hi, I am writing a script on Solaris 10 and want to execute a remote ssh command. Normally this command should just return the value 0000000000002356 but when using ssh it seems it is passing the result to the shell to execute. ssh root@10.5.112.145 `/usr/bin/nawk -F\, '$1=="USG" && $2=="01"... (3 Replies)
Discussion started by: borderblaster
3 Replies

6. Solaris

Ping = no, SSH = eventually. Next step?

I have a Solaris 9 server that does not return a ping. When I try to log in via SSH I eventually get in. I am logged in now. I know this is a wide open question, but can you recommend some things I should check? . Thanks in advance, ~R (2 Replies)
Discussion started by: abstractrick
2 Replies

7. Shell Programming and Scripting

Perl : code on ping showing difference result

Hi all, I am using the below code to ping a code and print whehter the connection is successful or not. use Net::Ping; $p = Net::Ping->new(); my $host = "x.x.x.x"; # print "$host is alive.\n" if $p->ping($host); if ($p->ping($host,3)) { print... (0 Replies)
Discussion started by: scriptscript
0 Replies

8. Shell Programming and Scripting

Ping result talking too long

Hello all, I am writing a script that pings various machines to check connectivity. If a machine is available, the prompt returns a result immediately: root@ops # ping 172.21.5.5 172.21.5.5 is alive BUT if a machine is Down , the reply takes a long time to come. The issue is I want to... (1 Reply)
Discussion started by: Junaid Subhani
1 Replies

9. AIX

Not able to ssh or ping a server

Hi, Earlier I was able to ssh /ping the server but now it just hangs Please suggest how to troubleshoot. Best regards, Vishal (4 Replies)
Discussion started by: Vishal_dba
4 Replies

10. UNIX for Advanced & Expert Users

Cant ssh, but ping works

I cant ping to some of my machines, but ping works. I attach screenshots. Port is open and it is 22. I can't figure out why i cant access. https://www.unix.com/attachments/unix-for-advanced-and-expert-users/7492d1541541072-cant-ssh-but-ping-works-sshlisten-jpg... (17 Replies)
Discussion started by: tomislav91
17 Replies
AnyEvent::XMPP::Ext::Ping(3pm)				User Contributed Perl Documentation			    AnyEvent::XMPP::Ext::Ping(3pm)

NAME
AnyEvent::XMPP::Ext::Ping - Implementation of XMPP Ping XEP-0199 SYNOPSIS
use AnyEvent::XMPP::Ext::Ping; my $con = AnyEvent::XMPP::IM::Connection->new (...); $con->add_extension (my $ping = AnyEvent::XMPP::Ext::Ping->new); # this enables auto-timeout of a connection if it didn't answer # within 120 seconds to a ping with a reply $ping->enable_timeout ($con, 120); my $cl = AnyEvent::XMPP::Client->new (...); $cl->add_extension (my $ping = AnyEvent::XMPP::Ext::Ping->new); # this enables auto-timeout of newly created connections $ping->auto_timeout(120); $ping->ping ($con, 'ping_dest@server.tld', sub { my ($time, $error) = @_; if ($error) { # we got an error } # $time is a float (seconds) of the rtt if you got Time::HiRes }); DESCRIPTION
This extension implements XEP-0199: XMPP Ping. It allows you to define a automatic ping timeouter that will disconnect dead connections (which didn't reply to a ping after N seconds). See also the documentation of the "enable_timeout" method below. It also allows you to send pings to any XMPP entity you like and will measure the time it took if you got Time::HiRes. METHODS
new (%args) Creates a new ping handle. auto_timeout ($timeout) This method enables automatic connection timeout of new connections. It calls "enable_timeout" (see below) for every new connection that was connected and emitted a "stream_ready" event. This is useful if you want connections that have this extension automatically timeouted. In particular this is useful with modules like AnyEvent::XMPP::Client (see also SYNOPSIS above). enable_timeout ($con, $timeout) This enables a periodical ping on the connection $con. $timeout must be the seconds that the ping intervals last. If the server which is connected via $con didn't respond within $timeout seconds the connection $con will be disconnected. Please note that there already is a basic timeout mechanism for dead TCP connections in AnyEvent::XMPP::Connection, see also the "whitespace_ping_interval" configuration variable for a connection there. It then will depend on TCP timeouts to disconnect the connection. Use "enable_timeout" and "auto_timeout" only if you really feel like you need an explicit timeout for your connections. ping ($con, $dest, $cb, $timeout) This method sends a ping request to $dest via the AnyEvent::XMPP::Connection in $con. If $dest is undefined the ping will be sent to the connected server. $cb will be called when either the ping timeouts, an error occurs or the ping result was received. $timeout is an optional timeout for the ping request, if $timeout is not given the default IQ timeout for the connection is the relevant timeout. The first argument to $cb will be the seconds of the round trip time for that request (If you have Time::HiRes). If you don't have Time::HiRes installed the first argument will be undef. The second argument to $cb will be either undef if no error occured or a AnyEvent::XMPP::Error::IQ error object. ignore_pings ($bool) This method is mostly for testing, it tells this extension to ignore all ping requests and will prevent any response from being sent. AUTHOR
Robin Redeker, "<elmex at ta-sa.org>", JID: "<elmex at jabber.org>" COPYRIGHT &; LICENSE Copyright 2007, 2008 Robin Redeker, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2012-01-23 AnyEvent::XMPP::Ext::Ping(3pm)
All times are GMT -4. The time now is 06:50 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy