Sponsored Content
Full Discussion: Ping test using python
Top Forums Shell Programming and Scripting Ping test using python Post 302961147 by cjcox on Tuesday 24th of November 2015 12:10:53 PM
Old 11-24-2015
consider:

Code:
import os, sys, time
hostname = "myclient"
response = os.system("ping -c 1 " + hostname + " >/dev/null 2>&1")

if response == 0:
      print hostname, 'Reboot successful!'
      sys.exit(0)
else:
      sys.stderr.write(hostname + ' Rebooting..')

sleep_wait=1
max_ping_wait=10
count=0
while (count < max_ping_wait and os.system("ping -c 1 " + hostname + " >/dev/null 2>&1")):
      sys.stderr.write('.')
      time.sleep(sleep_wait)
      count+=1

if (count < max_ping_wait):
    print hostname, 'Reboot successful!'
    sys.exit(0)
else:
    print hostname, 'Reboot unsuccessful.'
    sys.exit(1)

Why stderr for the dots? Stderr is usually unbuffered...
Adjust max_ping_wait and sleep_wait however you like.

---------- Post updated at 11:10 AM ---------- Previous update was at 11:10 AM ----------

oh.. tweak the output, my output isn't exactly like how you wanted.
This User Gave Thanks to cjcox For This Post:
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

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... (2 Replies)
Discussion started by: zeekblack
2 Replies

2. Shell Programming and Scripting

Test on string containing spacewhile test 1 -eq 1 do read a $a if test $a = quitC then break fi d

This is the code: while test 1 -eq 1 do read a $a if test $a = stop then break fi done I read a command on every loop an execute it. I check if the string equals the word stop to end the loop,but it say that I gave too many arguments to test. For example echo hello. Now the... (1 Reply)
Discussion started by: Max89
1 Replies

3. Shell Programming and Scripting

How to check weather a string is like test* or test* ot *test* in if condition

How to check weather a string is like test* or test* ot *test* in if condition (5 Replies)
Discussion started by: johnjerome
5 Replies

4. Programming

python little ping script

Hi everyone, I'm a newby in the python languages, and I try to make some parallels to shell. My question is how ca I give the information to python that the line 3 "r=...." the string "line" is a variable. import os, re line = "localhost" r = "".join(os.popen("ping line -c... (2 Replies)
Discussion started by: research3
2 Replies

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

6. Shell Programming and Scripting

python test datetime 30 minutes ago

Hello, RHEL5.5 PYTHON=2.4.3 I have 2 python variables using the datetime module. Here is how I call them: print "Current Time: %s" % now print "LastDownloadTime: %s" % LastDownloadTime Here is an example of an issue. Current Time: 2012-01-05 14:06:09.749240... (2 Replies)
Discussion started by: jaysunn
2 Replies

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

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

9. Programming

Create a C source and compile inside Python 1.4.0 to 3.7.0 in Python for ALL? platforms...

Hi all... As you know I like making code backwards compatible for as many platforms as possible. This Python script was in fact dedicated for the AMIGA A1200 using Pythons 1.4.0, 1.5.2, 1.6.0, 2.0.1, and 2.4.6 as that is all we have for varying levels of upgrades from a HDD and 4MB FastRam... (1 Reply)
Discussion started by: wisecracker
1 Replies
SA-CHECK_SPAMD.RAW(1)					User Contributed Perl Documentation				     SA-CHECK_SPAMD.RAW(1)

NAME
sa-check_spamd - spamd monitoring script for use with Nagios, etc. SYNOPSIS
sa-check_spamd [options] Options: -c secs, --critical=secs Critical ping response threshold -h, -?, --help Print usage message -H hostname, --hostname=hostname Hostname of spamd service to ping -p port, --port=port Port of spamd service to ping --socketpath=path Connect to given UNIX domain socket -t secs, --timeout=secs Max time to wait for a ping response -v, --verbose Verbose debug output -V, --version Output version info -w secs, --warning=secs Warning ping response threshold DESCRIPTION
The purpose of this program is to provide a tool to monitor the status of "spamd" server processes. spamd is the daemonized version of the spamassassin executable, both provided in the SpamAssassin distribution. This program is designed for use, as a plugin, with the Nagios service monitoring software available from http://nagios.org. It might be compatible with other service monitoring packages. It is also useful as a command line utility or as a component of a custom shell script. OPTIONS
Options of the long form can be shortened as long as the remain unambiguous (i.e. --host can be used instead of --hostname). -c secs, --critical=secs Critical ping response threshold in seconds. If a spamd ping response takes longer than the value specified (in seconds) the program will exit with a value of 2 to indicate the critical status. This value must be at least as long as the value specified for warning and less than the value specified for timeout. -h, -?, --help Prints this usage message and exits. -H hostname, --hostname=hostname The hostname, or IP address, of the spamd service to ping. By default the hostname localhost is used. If --socketpath is set this value will be ignored. -p port, --port=port The port of the spamd service to ping. By default port 783 (the spamd default port number) is used. If --socketpath is set this value will be ignored. --socketpath=path Connect to given UNIX domain socket. Use instead of a hostname and TCP port. When set, any hostname and TCP port specified will be ignored. -t secs, --timeout=secs The maximum time to wait for a ping response. Once exceeded the program will exit with a value of 2 to indicate the critical status. The default timeout value is 45 seconds. The timeout must be no less than 1 second. This value must be greater than the values specified for both the critical and warning values. -v, --verbose Display verbose debug output on STDOUT. -V, --version Display version info on STDOUT. -w secs, --warning=secs Warning ping response threshold in seconds. If a spamd ping response takes longer than the value specified (in seconds), and does not exceed the critical threshold value, the program will exit with a value of 1 to indicate the warning staus. This value must be no longer than the value specified for critical and less than the value specified for timeout. EXIT CODES
The program will indicate the status of the spamd process being monitored by exiting with one of these values: 0 OK: A spamd ping response was received within all threshold times. 1 WARNING: A spamd ping response exceeded the warning threshold but not the critical threshold. 2 CRITICAL: A spamd ping response exceeded either the critical threshold or the timeout value. 3 UNKNOWN: An error, probably caused by a missing dependency or an invalid configuration parameter being supplied, occurred in the sa-check_spamd program. SEE ALSO
spamc(1) spamd(1) spamassassin(1) PREREQUISITES
"Mail::SpamAssassin" version 3.1.1 or higher (3.1.6 or higher recommended) AUTHOR
Daryl C. W. O'Shea, DOS Technologies <spamassassin@dostech.ca> LICENSE
sa-check_spamd is distributed under the Apache License, Version 2.0, as described in the file "LICENSE" included with the Apache SpamAssassin distribution and available at http://www.apache.org/licenses/LICENSE-2.0 perl v5.14.2 2014-02-14 SA-CHECK_SPAMD.RAW(1)
All times are GMT -4. The time now is 11:17 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy