File: init

package info (click to toggle)
hddtemp 0.3-beta13-9
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 1,964 kB
  • ctags: 1,317
  • sloc: ansic: 10,470; sh: 4,470; makefile: 522; yacc: 288; perl: 19; sed: 16
file content (76 lines) | stat: -rw-r--r-- 2,133 bytes parent folder | download
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/bin/sh -e
#
# skeleton	example file to build /etc/init.d/ scripts.
#		This file should be used to construct scripts for /etc/init.d.
#
#		Written by Miquel van Smoorenburg <miquels@cistron.nl>.
#		Modified for Debian GNU/Linux
#		by Ian Murdock <imurdock@gnu.ai.mit.edu>.
#
# Version:	@(#)skeleton  1.8  03-Mar-1998  miquels@cistron.nl
#

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=hddtemp
DAEMON=/usr/sbin/hddtemp
DESC="disk temperature monitoring daemon"

SERVICE="true"
DISKS="/dev/hd? /dev/sr? /dev/sg? /dev/sd?"
INTERFACE="0.0.0.0"
PORT="7634"
SEPARATOR="|"
SYSLOG="0"

# Reads config file (will override defaults above)
[ -r /etc/default/hddtemp ] && . /etc/default/hddtemp

if [ -n "$SYSLOG" -a "$SYSLOG" != "0" ] ; then
	SYSLOG_ARG="-S $SYSLOG"
fi

if [ "$RUN_DAEMON" = "true" -o "$RUN_DAEMON" = "yes" ] ; then
	DAEMON_ARG="-d -l $INTERFACE -p $PORT -s $SEPARATOR"
fi

[ -x "$DAEMON" ] || exit 0

case "$1" in
  start)
	# master switch
  	if [ -n "$DAEMON_ARG" -o -n "$SYSLOG_ARG" ] ; then
  		echo -n "Starting $DESC:"
		CDROMS_LIST="$(grep "^drive name:" /proc/sys/dev/cdrom/info 2>/dev/null | sed -e 's/^drive name:\t//g' -e 's/\t/ \/dev\//g')"
		CDROMS_LIST="$CDROMS_LIST $(grep -sl '^ide-scsi ' /proc/ide/hd*/driver | awk -F / '{ print "/dev/"$4 }')"
        	for disk in $DISKS ; do
			echo $CDROMS_LIST | grep -wq $disk && continue
			if /usr/sbin/hddtemp -wn $OPTIONS $disk 2>/dev/null | /bin/grep -q '^[0-9]\+$' ; then
				DISKS_LIST="$DISKS_LIST $disk";
			fi
		done
		if [ -n "$DISKS_LIST" ] ; then
			start-stop-daemon --start --quiet --exec $DAEMON -- $DAEMON_ARG $SYSLOG_ARG $OPTIONS $DISKS_LIST
			echo "$DISKS_LIST."
		else
			echo " no disks with monitoring capability were found."
		fi
	fi
	;;
  stop)
	# master switch
  	if [ "$RUN_DAEMON" = "true" -o "$RUN_DAEMON" = "yes" -o "$SYSLOG" != "0" ] ; then
 		echo -n "Stopping $DESC: "
		start-stop-daemon --stop --oknodo --exec $DAEMON --retry 30
		echo "done."
	fi
	;;
  reload|restart|force-reload)
	$0 stop && $0 start
	;;
  *)
	echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2
	exit 1
	;;
esac

exit 0