mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
apcupsd: Update email scripts to work with dma
- The standard email scripts supllied with apcupsd are coded on the basis that sendmail is being used. The format of the email information in those scripts does not work with the dma mail system implemented in IPFire. - The scripts provided in the config/apcupsd directory have been updated to work with dma. The scripts have been confirmed to work with my production system that is using a UPS. - This patch will replace the standard apcupsd scripts with the ones tailored for IPFire. - If any existing users have modified their scripts to already work with dma then their versions will be saved in their backup. - The apcupsd-3.14.14-2.ipfire package created in the build with the above changes has been installed on a vm system and confirmed to provide the IPFire tailored scripts. - The lfs change is the addition of the copying of the scripts to the /etc/apcupsd directory. - No change to the rootfile as the scripts names are the same. - The only thing a user will need to do is to ensure the IPFire email system is enabled, configure and confirmed working. Then valid FROM and TO email addresses need to be added to each script. - Once this patch submission is accepted then I will do an update to the apcupsd IPFire documentation page to describe these scripts and how to update the email addresses. Tested-by: Adolf Belka <adolf.belka@ipfire.org> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org> Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
committed by
Michael Tremer
parent
5b24b5559a
commit
5175a5f19e
24
config/apcupsd/changeme
Normal file
24
config/apcupsd/changeme
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# This shell script if placed in /etc/apcupsd
|
||||
# will be called by /etc/apcupsd/apccontrol when apcupsd
|
||||
# detects that the battery should be replaced.
|
||||
# We send an email message to root to notify him.
|
||||
#
|
||||
|
||||
FROM="enter from email address"
|
||||
TO="enter to email address"
|
||||
|
||||
HOSTNAME=`hostname`
|
||||
MSG="$HOSTNAME Battery needs changing now on UPS $1"
|
||||
#
|
||||
(
|
||||
echo From: $FROM
|
||||
echo To: $TO
|
||||
echo Subject: $MSG
|
||||
echo " "
|
||||
echo "$MSG"
|
||||
echo " "
|
||||
echo -ne $(echo "\r\n"; while read line; do echo "$line\r\n"; done < <(echo "$(/sbin/apcaccess status)"))
|
||||
) | sudo -u nobody /usr/sbin/sendmail -t -f $FROM
|
||||
exit 0
|
||||
23
config/apcupsd/commfailure
Normal file
23
config/apcupsd/commfailure
Normal file
@@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# This shell script if placed in /etc/apcupsd
|
||||
# will be called by /etc/apcupsd/apccontrol when apcupsd
|
||||
# loses contact with the UPS (i.e. the serial connection is not responding).
|
||||
# We send an email message to root to notify him.
|
||||
#
|
||||
|
||||
FROM="enter from email address"
|
||||
TO="enter to email address"
|
||||
|
||||
HOSTNAME=`hostname`
|
||||
MSG="$HOSTNAME Communications with UPS $1 lost"
|
||||
(
|
||||
echo From: $FROM
|
||||
echo To: $TO
|
||||
echo Subject: $MSG
|
||||
echo " "
|
||||
echo "$MSG"
|
||||
echo " "
|
||||
echo -ne $(echo "\r\n"; while read line; do echo "$line\r\n"; done < <(echo "$(/sbin/apcaccess status)"))
|
||||
) | sudo -u nobody /usr/sbin/sendmail -t -f $FROM
|
||||
exit 0
|
||||
24
config/apcupsd/commok
Normal file
24
config/apcupsd/commok
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# This shell script if placed in /etc/apcupsd
|
||||
# will be called by /etc/apcupsd/apccontrol when apcupsd
|
||||
# restores contact with the UPS (i.e. the serial connection is restored).
|
||||
# We send an email message to root to notify him.
|
||||
#
|
||||
|
||||
FROM="enter from email address"
|
||||
TO="enter to email address"
|
||||
|
||||
HOSTNAME=`hostname`
|
||||
MSG="$HOSTNAME Communications with UPS $1 restored"
|
||||
#
|
||||
(
|
||||
echo From: $FROM
|
||||
echo To: $TO
|
||||
echo Subject: $MSG
|
||||
echo " "
|
||||
echo "$MSG"
|
||||
echo " "
|
||||
echo -ne $(echo "\r\n"; while read line; do echo "$line\r\n"; done < <(echo "$(/sbin/apcaccess status)"))
|
||||
) | sudo -u nobody /usr/sbin/sendmail -t -f $FROM
|
||||
exit 0
|
||||
24
config/apcupsd/offbattery
Normal file
24
config/apcupsd/offbattery
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# This shell script if placed in /etc/apcupsd
|
||||
# will be called by /etc/apcupsd/apccontrol when the
|
||||
# UPS goes back on to the mains after a power failure.
|
||||
# We send an email message to root to notify him.
|
||||
#
|
||||
|
||||
FROM="enter from email address"
|
||||
TO="enter to email address"
|
||||
|
||||
HOSTNAME=`hostname`
|
||||
MSG="$HOSTNAME Power has returned on UPS $1"
|
||||
#
|
||||
(
|
||||
echo From: $FROM
|
||||
echo To: $TO
|
||||
echo Subject: $MSG
|
||||
echo " "
|
||||
echo "$MSG"
|
||||
echo " "
|
||||
echo -ne $(echo "\r\n"; while read line; do echo "$line\r\n"; done < <(echo "$(/sbin/apcaccess status)"))
|
||||
) | sudo -u nobody /usr/sbin/sendmail -t -f $FROM
|
||||
exit 0
|
||||
24
config/apcupsd/onbattery
Normal file
24
config/apcupsd/onbattery
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# This shell script if placed in /etc/apcupsd
|
||||
# will be called by /etc/apcupsd/apccontrol when the UPS
|
||||
# goes on batteries.
|
||||
# We send an email message to root to notify him.
|
||||
#
|
||||
|
||||
FROM="enter from email address"
|
||||
TO="enter to email address"
|
||||
|
||||
HOSTNAME=`hostname`
|
||||
MSG="$HOSTNAME Power Failure on UPS $1"
|
||||
#
|
||||
(
|
||||
echo From: $FROM
|
||||
echo To: $TO
|
||||
echo Subject: $MSG
|
||||
echo " "
|
||||
echo "$MSG"
|
||||
echo " "
|
||||
echo -ne $(echo "\r\n"; while read line; do echo "$line\r\n"; done < <(echo "$(/sbin/apcaccess status)"))
|
||||
) | sudo -u nobody /usr/sbin/sendmail -t -f $FROM
|
||||
exit 0
|
||||
18
lfs/apcupsd
18
lfs/apcupsd
@@ -1,7 +1,7 @@
|
||||
###############################################################################
|
||||
# #
|
||||
# IPFire.org - A linux based firewall #
|
||||
# Copyright (C) 2007-2023 IPFire Team <info@ipfire.org> #
|
||||
# Copyright (C) 2007-2024 IPFire Team <info@ipfire.org> #
|
||||
# #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
@@ -34,7 +34,7 @@ DL_FROM = $(URL_IPFIRE)
|
||||
DIR_APP = $(DIR_SRC)/$(THISAPP)
|
||||
TARGET = $(DIR_INFO)/$(THISAPP)
|
||||
PROG = apcupsd
|
||||
PAK_VER = 11
|
||||
PAK_VER = 2
|
||||
|
||||
DEPS =
|
||||
|
||||
@@ -82,14 +82,18 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
@$(PREBUILD)
|
||||
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
|
||||
$(UPDATE_AUTOMAKE)
|
||||
cd $(DIR_APP) && ./configure --prefix=/usr --enable-usb --enable-cgi \
|
||||
--with-cgi-bin=/srv/web/ipfire/cgi-bin
|
||||
cd $(DIR_APP) && ./configure \
|
||||
--prefix=/usr \
|
||||
--enable-usb \
|
||||
--enable-cgi \
|
||||
--with-cgi-bin=/srv/web/ipfire/cgi-bin
|
||||
cd $(DIR_APP) && make $(MAKETUNING)
|
||||
cd $(DIR_APP) && make install
|
||||
|
||||
#install initscripts
|
||||
# Copy the IPFire specific scripts for apccontrol to use.
|
||||
# These have been modified to be able to use the dma mail agent in IPFire.
|
||||
cp -rf $(DIR_SRC)/config/apcupsd/* /etc/apcupsd/
|
||||
# install initscripts
|
||||
$(call INSTALL_INITSCRIPTS,$(SERVICES))
|
||||
|
||||
ln -sf ../init.d/apcupsd /etc/rc.d/rc3.d/S65apcupsd
|
||||
ln -sf ../init.d/apcupsd /etc/rc.d/rc0.d/K35apcupsd
|
||||
ln -sf ../init.d/apcupsd /etc/rc.d/rc6.d/K35apcupsd
|
||||
|
||||
Reference in New Issue
Block a user