From owner-freebsd-questions Mon Feb 5 9:33:20 2001 Delivered-To: freebsd-questions@freebsd.org Received: from fremont.bolingbroke.com (adsl-216-102-90-210.dsl.snfc21.pacbell.net [216.102.90.210]) by hub.freebsd.org (Postfix) with ESMTP id A879637B401 for ; Mon, 5 Feb 2001 09:33:00 -0800 (PST) Received: from fremont.bolingbroke.com (fremont.bolingbroke.com [216.102.90.210]) by fremont.bolingbroke.com (Switch-2.1.0/Switch-2.1.0) with ESMTP id f15HWws25533; Mon, 5 Feb 2001 09:32:58 -0800 (PST) Date: Mon, 5 Feb 2001 09:32:58 -0800 (PST) From: Ken Bolingbroke To: Joe.Warner@smed.com Cc: freebsd-questions@FreeBSD.ORG Subject: Re: Help me make FreeBSD shine In-Reply-To: <852569EA.005F58D2.00@Deimos.smed.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG You may find 'fping' in the Ports collection at /usr/ports/net/fping useful, as you can ping multiple hosts, and grep the responses for any non-responsive host. Ken On Mon, 5 Feb 2001 Joe.Warner@smed.com wrote: > > > Hey thanks! > > Right now, I'm just starting with something simple. > > I created this script: > > #!/bin/sh > > grep -v "#" /etc/hosts | awk '{print $1}' | while read host > do > ping -c 1 $host > done > > > ...and it works, except I want the output to be dumped > into a text file. > > Do you know how I should change this script so I could > do that? > > If this script doesn't do what my manager wants, I'll > definitely try yours. > > Thanks > > Joe > > > > > > > > > |--------+-----------------------> > | | Lucas Bergman| > | | | | > | > | | | > | | 02/05/01 | > | | 09:50 AM | > | | Please | > | | respond to | > | | lucas | > | | | > |--------+-----------------------> > >---------------------------------------------------------| > | | > | To: Joe Warner/SMS@SMS | > | cc: freebsd-questions@freebsd.org | > | Subject: Re: Help me make FreeBSD shine | > >---------------------------------------------------------| > > > > > > > Is there a way that I could write up some simple shell script that > > would ping the IP addresses of these systems and then log the output > > into a file that I could make accessible through a web browser? If > > so, I could set it to run in the CRON scheduler every four hours at > > specific times/days. > > Look at > > http://www.slb.to/~lucas/hacks/iplist-1.0.tar.gz > > This contains two scripts, iplist.sh and iplist2html.sh. The first > pings all the IP addresses on an 8-bit IP network and logs when each > was last heard from (in Unix time format, seconds since midnight on > 19700101). The second script creates a web page that shows which IP > addresses are "free" (have not been heard from in greater than some > number of seconds, by default twenty days). This helps out my old > employer who refused to use DHCP but who wanted an easy way to assign > free IP addresses. > > The package also contains a trivial C program which prints the current > time in seconds since the Unix epoch. > > I have a cron job that runs `sh /path/to/iplist.sh' every few hours > and `sh /path/to/iplist2html.sh >/path/to/freeip.html' afterward. I > would advise *not* running these scripts as root. Also, ideally you > would run `sh iplist2html.sh >freeip.html.tmp && mv freeip.html.tmp > freeip.html' so that freeip.html isn't truncated if iplist2html.sh > bombs in the middle of a run. iplist.sh does not corrupt its data > file if it crashes. > > Hopefully, this is similar enough to what you want to do that it will > get you started. > > Lucas > > > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-questions" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message