On Jan 9, 2010, at 7:43 AM, Thomas Stather wrote:

Hello guys


Yesterday i started do configure my Mustek Powermust650 with nut using the megatec_usb driver. Everything works fine except for the mailing when something happens. My upsmon looks like this:


MONITOR powermust...@localhost 1 local controller master
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -h +0"
NOTIFYCMD /root/upsmailer
POLLFREQ 10
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 45
POWERDOWNFLAG /etc/killpower
NOTIFYMSG ONLINE        "UPS %s on line power"
NOTIFYMSG ONBATT        "UPS %s on battery"
NOTIFYMSG LOWBATT       "UPS %s battery is low"
NOTIFYMSG FSD           "UPS %s: forced shutdown in progress"
NOTIFYMSG COMMOK        "Communications with UPS %s established"
NOTIFYMSG COMMBAD       "Communications with UPS %s lost"
NOTIFYMSG SHUTDOWN      "Auto logout and shutdown proceeding"
NOTIFYMSG REPLBATT      "UPS %s battery needs to be replaced"
NOTIFYMSG NOCOMM        "UPS %s is unavailable"
NOTIFYMSG NOPARENT "upsmon parent process died - shutdown impossible"
NOTIFYFLAG ONLINE       SYSLOG+WALL+EXEC
NOTIFYFLAG ONBATT       SYSLOG+WALL+EXEC
NOTIFYFLAG LOWBATT      SYSLOG+WALL+EXEC
NOTIFYFLAG FSD          SYSLOG+WALL+EXEC
NOTIFYFLAG COMMOK       SYSLOG+WALL+EXEC
NOTIFYFLAG COMMBAD      SYSLOG+WALL+EXEC
NOTIFYFLAG SHUTDOWN     SYSLOG+WALL+EXEC
NOTIFYFLAG REPLBATT     SYSLOG+WALL+EXEC
NOTIFYFLAG NOCOMM       SYSLOG+WALL+EXEC
NOTIFYFLAG NOPARENT     SYSLOG+WALL+EXEC
RBWARNTIME 43200
NOCOMMWARNTIME 300
INALDELAY 5

^ I assume this is a cut-n-paste error?

If not, check to see if there are any messages in syslog saying that the configuration file couldn't be reloaded.

the /root/upsmailer is just a simple shell script that mails the events, it looks like:


#!/bin/bash

RECIPIENT="control...@xxx"
SCRIPTNAME=`basename $0`

[ `echo $UPSNAME | wc -w` -eq "0" ] && UPSNAME="unknown"
[ `echo $NOTIFYTYPE | wc -w` -eq "0" ] && NOTIFYTYPE="unknown"
echo "$*" | mailx -s "$SCRIPTNAME: $UPSNAME $NOTIFYTYPE" $RECIPIENT
exit 0

When i disconnect the UPS from the power line, i get a message in my syslog but not on the wall and the script isn't started either. What have i done wrong (i'm relatively new to nut :) )?

Does your script have the execute bit turned on?

Also, the script will be run as the user you defined in the ./ configure script (or some username like "nut", if you are running from a package). Be sure that the permissions on /root allow this mostly- unprivileged user to run the script. Usually this means at least scan permissions on /root (+x), but a better idea might be to put the script in /usr/local/sbin.

If you're interested in efficiency (embedded system or the like), you might want to rewrite the "unknown" checks - in their current form, they will fork a new subshell (``) and run wc. I think the following line will do the same thing:

echo "$*" | mailx -s "$SCRIPTNAME: ${UPSNAME:=unknown} $ {NOTIFYTYPE:=unknown}" $RECIPIENT

_______________________________________________
Nut-upsuser mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/nut-upsuser

Reply via email to