#!/bin/sh - # # Copyright (c) 1995, 2006 Ederson de Moura # All rights reserved. # # 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 # in this position and unchanged. # 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. The name of the author may not be used to endorse or promote products # derived from this software without specific prior written permission # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. # PROG="upsdaemon-alerts"; VERSION="1.0"; SERV=`hostname -s`; WHOA=`whoami`; TIME=`date +%H:%M:%S`; DATE=`date`; DIRE=/usr/local/libexec/upsdaemon LOGS=/var/log if ! [ -f $LOGS/$PROG.log ]; then touch $LOGS/$PROG.log; fi # # Function Battery # battery() { ROUT="-battery"; wall < $DIRE $ROUT" >> $LOGS/$PROG.log 2>&1 sleep 3; /sbin/shutdown -p now exit 1; } # # Function down # down() { ROUT="-down"; wall < $DIRE $ROUT" >> $LOGS/$PROG.log 2>&1 sleep 3; /sbin/shutdown -p now exit 1; } # # Function Failded # failed() { ROUT="-failed"; wall < $DIRE $ROUT" >> $LOGS/$PROG.log 2>&1 exit 1; } # # Function Recovery # recovery() { ROUT="-recovery"; wall < $DIRE $ROUT" >> $LOGS/$PROG.log 2>&1 exit 1; } # # Case for function # case "$1" in '-battery') battery return; ;; '-down') down return; ;; '-failed') failed return; ;; '-recovery') recovery return; ;; *) echo "Usage: upsdaemon-alerts [-battery] [-down] [-failed] [-recovery]" exit 1; ;; esac exit 0;