<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=Kping</id>
	<title>Kping - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=Kping"/>
	<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=Kping&amp;action=history"/>
	<updated>2026-05-06T19:33:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://aznot.com/index.php?title=Kping&amp;diff=3723&amp;oldid=prev</id>
		<title>Kenneth: Created page with &quot;== simple ==  &lt;pre&gt; #!/bin/bash  # kping - simple history ping # programmed by Kenneth Burgener &lt;kenneth@oeey.com&gt; (SEP 2011)  if [ &quot;$1&quot; = &quot;&quot; ] ; then   echo &quot;Usage: hping [ho...&quot;</title>
		<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=Kping&amp;diff=3723&amp;oldid=prev"/>
		<updated>2016-09-08T23:13:30Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== simple ==  &amp;lt;pre&amp;gt; #!/bin/bash  # kping - simple history ping # programmed by Kenneth Burgener &amp;lt;kenneth@oeey.com&amp;gt; (SEP 2011)  if [ &amp;quot;$1&amp;quot; = &amp;quot;&amp;quot; ] ; then   echo &amp;quot;Usage: hping [ho...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== simple ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# kping - simple history ping&lt;br /&gt;
# programmed by Kenneth Burgener &amp;lt;kenneth@oeey.com&amp;gt; (SEP 2011)&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; = &amp;quot;&amp;quot; ] ; then&lt;br /&gt;
  echo &amp;quot;Usage: hping [host]&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
while true ; do&lt;br /&gt;
  ping -c 1 -W 1 $1 &amp;gt; /dev/null&lt;br /&gt;
  if [ $? -eq 0 ] ; then&lt;br /&gt;
    echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
    sleep 1&lt;br /&gt;
  else&lt;br /&gt;
    echo -n &amp;quot;-&amp;quot;&lt;br /&gt;
    sleep .05   # ugly to allow ctrl-c&lt;br /&gt;
  fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== line wrap ==&lt;br /&gt;
&lt;br /&gt;
with new lines at 60 seconds&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# kping - simple history ping&lt;br /&gt;
# programmed by Kenneth Burgener &amp;lt;kenneth@oeey.com&amp;gt; (SEP 2011)&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; = &amp;quot;&amp;quot; ] ; then&lt;br /&gt;
  echo &amp;quot;Usage: hping [host]&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
count=0&lt;br /&gt;
while true ; do&lt;br /&gt;
  ping -c 1 -W 1 $1 &amp;gt; /dev/null&lt;br /&gt;
  if [ $? -eq 0 ] ; then&lt;br /&gt;
    echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
    sleep 1&lt;br /&gt;
  else&lt;br /&gt;
    echo -n &amp;quot;-&amp;quot;&lt;br /&gt;
    sleep .05&lt;br /&gt;
  fi&lt;br /&gt;
  count=$(( count + 1 ))&lt;br /&gt;
  if [ $count -eq 60 ] ; then&lt;br /&gt;
    echo&lt;br /&gt;
    count=0&lt;br /&gt;
  fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== audio bell and minute count ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# kping - visual ping history&lt;br /&gt;
# Programmed by Kenneth Burgener &amp;lt;kenneth@oeey.com&amp;gt; (SEP 2011)&lt;br /&gt;
#&lt;br /&gt;
# Change Log:&lt;br /&gt;
#   Sep 2012 - Initial version&lt;br /&gt;
#   Oct 2011 - minute wrap&lt;br /&gt;
#   Jul 2012 - added options, audio bell, minute count, restart flag&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
UPBELL=false    # audio bell on ping recovery&lt;br /&gt;
DOWNBELL=false  # audio bell on ping loss&lt;br /&gt;
RESTART=false   # restart minute count on state change&lt;br /&gt;
&lt;br /&gt;
while getopts &amp;quot;aAr&amp;quot; Option&lt;br /&gt;
do&lt;br /&gt;
    case $Option in&lt;br /&gt;
        a )&lt;br /&gt;
            DOWNBELL=true ;;&lt;br /&gt;
        A )&lt;br /&gt;
            UPBELL=true ;;&lt;br /&gt;
        r )&lt;br /&gt;
            RESTART=true ;;&lt;br /&gt;
        * )&lt;br /&gt;
            echo &amp;quot;Error: Invalid option!&amp;quot;&lt;br /&gt;
            exit 1&lt;br /&gt;
            ;;&lt;br /&gt;
    esac&lt;br /&gt;
done&lt;br /&gt;
shift $(($OPTIND - 1))&lt;br /&gt;
&lt;br /&gt;
if [ $# -ne 1 ] ; then&lt;br /&gt;
    echo &amp;quot;Usage: $0 [-a:DOWNBELL] [-A:UPBELL] [-r:RESTART] &amp;lt;SERVER&amp;gt;&amp;quot;&lt;br /&gt;
    echo &amp;quot;  UPBELL   - audio bell on ping recovery&amp;quot;&lt;br /&gt;
    echo &amp;quot;  DOWNBELL - audio bell on ping loss&amp;quot;&lt;br /&gt;
    echo &amp;quot;  RESTART  - restart minute count on state change&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# minute and seconds count&lt;br /&gt;
MAXCOUNT=60&lt;br /&gt;
count=0&lt;br /&gt;
minutes=0&lt;br /&gt;
&lt;br /&gt;
# restart condition&lt;br /&gt;
NEWSTATE=1&lt;br /&gt;
OLDSTATE=1&lt;br /&gt;
DORESTART=false&lt;br /&gt;
&lt;br /&gt;
printf &amp;quot;%03d &amp;quot; $minutes&lt;br /&gt;
while true ; do&lt;br /&gt;
&lt;br /&gt;
    # check ping state&lt;br /&gt;
    ping -c 1 -W 1 $1 &amp;gt; /dev/null&lt;br /&gt;
    if [ $? -eq 0 ] ; then&lt;br /&gt;
        NEWSTATE=1&lt;br /&gt;
        echo -n &amp;quot;.&amp;quot;&lt;br /&gt;
        if $UPBELL ; then&lt;br /&gt;
            echo -en &amp;quot;\a&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
        sleep 1&lt;br /&gt;
    else&lt;br /&gt;
        NEWSTATE=0&lt;br /&gt;
        echo -n &amp;quot;-&amp;quot;&lt;br /&gt;
        if $DOWNBELL ; then&lt;br /&gt;
            echo -en &amp;quot;\a&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
        sleep .05&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # minute restart condition&lt;br /&gt;
    if [ $RESTART == true -a $NEWSTATE -ne $OLDSTATE ] ; then&lt;br /&gt;
        DORESTART=true&lt;br /&gt;
    fi&lt;br /&gt;
    OLDSTATE=$NEWSTATE&lt;br /&gt;
&lt;br /&gt;
    # minute and second count&lt;br /&gt;
    count=$(( count + 1 ))&lt;br /&gt;
    if [ $count -eq $MAXCOUNT -o $DORESTART == true ] ; then&lt;br /&gt;
        echo&lt;br /&gt;
        minutes=$(( minutes + 1 ))&lt;br /&gt;
        printf &amp;quot;%03d &amp;quot; $minutes&lt;br /&gt;
        count=0&lt;br /&gt;
        DORESTART=false&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== keywords ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Network Admin]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>Kenneth</name></author>
	</entry>
</feed>