#! /bin/sh ## ## $Id$ ## ## Copyright (c) 1997-2007 by Terrapin Communications, Inc. ## All rights reserved. ## ## This code is derived from software contributed to and maintained by ## Terrapin Communications, Inc. by Henry Kilmer, John Heasley, Andrew Partan, ## Pete Whiting, Austin Schutz, and Andrew Fort. ## ## Redistribution and use in source and binary forms, with or without ## modification, are permitted provided that the following conditions ## are met: ## 1. Redistributions of source code must retain the above copyright ## notice, this list of conditions and the following disclaimer. ## 2. Redistributions in binary form must reproduce the above copyright ## notice, this list of conditions and the following disclaimer in the ## documentation and/or other materials provided with the distribution. ## 3. All advertising materials mentioning features or use of this software ## must display the following acknowledgement: ## This product includes software developed by Terrapin Communications, ## Inc. and its contributors for RANCID. ## 4. Neither the name of Terrapin Communications, Inc. nor the names of its ## contributors may be used to endorse or promote products derived from ## this software without specific prior written permission. ## 5. It is requested that non-binding fixes and modifications be contributed ## back to Terrapin Communications, Inc. ## ## THIS SOFTWARE IS PROVIDED BY Terrapin Communications, INC. AND CONTRIBUTORS ## ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED ## TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR ## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COMPANY OR CONTRIBUTORS ## BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR ## CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF ## SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS ## INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ## CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ## ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ## POSSIBILITY OF SUCH DAMAGE. # # The expect login scripts were based on Erik Sherk's gwtn, by permission. # # The original looking glass software was written by Ed Kern, provided by # permission and modified beyond recognition. # # Reports the list of routers not listed as 'up'. # Put this in your crontab to run once a day: # 0 0 * * * @pkgdatadir@/downreport # It can optionally # take a space list of groups on the command line # It will use the list of groups defined in rancid.conf otherwise. ENVFILE="@sysconfdir@/rancid.conf" . $ENVFILE if [ $# -ge 1 ] ; then LIST_OF_GROUPS="$*" elif [ "$LIST_OF_GROUPS" = "" ] ; then echo "LIST_OF_GROUPS is empty in $ENVFILE" exit 1 fi # mail variables set | grep MAILHEADERS= > /dev/null 2>&1 if [ $? -ne 0 ] ; then MAILHEADERS="Precedence: bulk\n"; export MAILHEADERS fi for GROUP in $LIST_OF_GROUPS; do ( echo "To: @MAILPLUS@admin-$GROUP" echo "Subject: Down router report - $GROUP" echo "$MAILHEADERS" | awk '{gsub(/\\n/,"\n");print;}' echo "" DIR=$BASEDIR/$GROUP if [ -s $DIR/routers.down ]; then ( cat << EOM The following $GROUP routers are listed as other than up. Routers listed as "up" in rancid's router.db are polled several times daily. This is a list of routers that are not "up" and therefore not polled. EOM cat $DIR/routers.down; ) else ( cat << EOM No routers are down/ticketed for router group $GROUP (yay). EOM ) fi ) | sendmail -t done