You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

53 lines
1000 B

#!/bin/sh
. "${IPKG_INSTROOT}"/lib/functions.sh
REMOVEDEFAULTNOTIFY=0
SKIPADDSYSLOG=0
SKIPADDEXEC=0
SKIPADDNOTIFYCMD=0
upsmon() {
local cfg="$1"
local val
config_get val "$cfg" notifycmd
if [ -n "$val" ]; then
SKIPADDNOTIFYCMD=1
fi
config_get val "$cfg" defaultnotify
if [ -n "$val" ]; then
if echo "$val" |grep -q "IGNORE"; then
REMOVEDEFAULTNOTIFY=1
else
SKIPADDSYSLOG=1
if echo "$val" |grep -q "EXEC"; then
SKIPADDEXEC=1
fi
fi
fi
}
config_load nut_monitor
config_foreach upsmon upsmon
uci set nut_monitor.@upsmon[-1]=upsmon
if [ "$SKIPADDNOTIFYCMD" != "1" ]; then
uci set nut_monitor.@upsmon[-1].notifycmd=/usr/sbin/upssched
fi
if [ "$REMOVEDEFAULTNOTIFY" = "1" ]; then
uci delete nut_monitor.@upsmon[-1].defaultnotify || true
fi
if [ "$SKIPADDEXEC" != "1" ]; then
uci add_list nut_monitor.@upsmon[-1].defaultnotify="EXEC"
fi
if [ "$SKIPADDSYSLOG" != "1" ]; then
uci add_list nut_monitor.@upsmon[-1].defaultnotify="SYSLOG"
fi
uci commit nut_monitor