summarylogtreecommitdiffstats
path: root/upsd.init
blob: acdd1152b0585b37ac04f0657224c9a9fa5f8765 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions

PID=`pidof -o %PPID /usr/sbin/upsd`
case "$1" in 
	start)
		stat_busy "Starting UPSd Daemon"
		/usr/bin/upsdrvctl start &> /dev/null
		[ -z "$PID" ] && /usr/sbin/upsd &>/dev/null
		/usr/sbin/upsmon &>/dev/null
		if [ $? -gt 0 ]; then
			stat_fail
		else
			add_daemon upsd
			stat_done
		fi
		;;

	stop)
		stat_busy "Stopping UPSd Daemon"
		/usr/sbin/upsmon -c stop &> /dev/null
		/usr/sbin/upsd -c stop &> /dev/null
		/usr/bin/upsdrvctl stop &> /dev/null
		if [ $? -gt 0 ]; then
			stat_fail
		else
			rm_daemon upsd
			stat_done
		fi
		;;

	restart)
		$0 stop
		sleep 3
		$0 start
		;;

	*)
		cho "usage: $0 {start|stop|restart}"
esac
exit 0