#!/bin/sh -
#
# Copyright (c) 1995, 2006 Ederson de Moura <ederbs@ederbs.org>
# 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 <<EOM
*** UPS POWER IS FAILING ***
'''
(o o)
+---------oOOO--(_)------------------+
| Emergency shutdown is in progress |
| Please logout now !!! |
| UpsDaemon |
+----------------------oOOO----------+
|__|__|
|| ||
ooO Ooo
EOM
echo "$DATE $SERV ($WHOA) Routine executed --> $DIRE $ROUT" >> $LOGS/$PROG.log 2>&1
sleep 3;
/sbin/shutdown -p now
exit 1;
}
#
# Function down
#
down()
{
ROUT="-down";
wall <<EOM
*** UPS LINE POWER IS FAILED ***
'''
(o o)
+---------oOOO--(_)------------------+
| The system is shutting down |
| Please Logout Now !!! |
| UpsDaemon |
+----------------------oOOO----------+
|__|__|
|| ||
ooO Ooo
EOM
echo "$DATE $SERV ($WHOA) Routine executed --> $DIRE $ROUT" >> $LOGS/$PROG.log 2>&1
sleep 3;
/sbin/shutdown -p now
exit 1;
}
#
# Function Failded
#
failed()
{
ROUT="-failed";
wall <<EOM
*** UPS LINE POWER IS FAILED ***
'''
(o o)
+---------oOOO--(_)------------------+
| Please finish your work |
| Save your files and logout !!! |
| UpsDaemon |
+----------------------oOOO----------+
|__|__|
|| ||
ooO Ooo
Shutdown the system within 5 minutes
EOM
echo "$DATE $SERV ($WHOA) Routine executed --> $DIRE $ROUT" >> $LOGS/$PROG.log 2>&1
exit 1;
}
#
# Function Recovery
#
recovery()
{
ROUT="-recovery";
wall <<EOM
*** UPS LINE POWER RESTORED ***
'''
(o o)
+---------oOOO--(_)------------------+
| You can continue you work |
| Bye !!! |
| UpsDaemon |
+----------------------oOOO----------+
|__|__|
|| ||
ooO Ooo
EOM
echo "$DATE $SERV ($WHOA) Routine executed --> $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;
syntax highlighted by Code2HTML, v. 0.9.1