87 lines
1.9 KiB
Bash
87 lines
1.9 KiB
Bash
#!/bin/sh
|
|
|
|
# /etc/rc.d/rc.hdapsd
|
|
# Start/stop the HDAPS deamon
|
|
# Copyright (c) 2008 alkos333 <me@alkos333.net>
|
|
|
|
# Define a quick function to alert that the expected config file is bad
|
|
bad_config() {
|
|
printf "Error: /etc/hdapsd.conf either is not readable\n"
|
|
printf " or contains a syntax error. Exiting...\n"
|
|
exit 1
|
|
}
|
|
|
|
# Source in the config file
|
|
if [ -r /etc/hdapsd.conf ]; then
|
|
. /etc/hdapsd.conf 2>/dev/null || bad_config
|
|
fi
|
|
|
|
HD_DEV=${HD_DEV:-/dev/sda} # Defaults to /dev/sda
|
|
SENSITIVITY=${SENSITIVITY:-15} # Defaults to 15
|
|
PIDFILE=${PIDFILE:-"/var/run/hdapsd.pid"} # Default
|
|
USE_SYSLOG=${USE_SYSLOG:-1} # 0=no 1=yes Defaults to yes
|
|
|
|
if [ "$USE_SYSLOG" = "1" ]; then
|
|
ENABLESYSLOG="-l"
|
|
else
|
|
ENABLESYSLOG=""
|
|
fi
|
|
|
|
hdapsd_start() {
|
|
if [ -f ${PIDFILE} ]; then
|
|
printf "HDAPS appears to already be running...\n"
|
|
printf "If that's not the case, then remove $PIDFILE and try again...\n"
|
|
exit 1
|
|
else
|
|
# Sanity check, just in case
|
|
if [ ! -b ${HD_DEV} ]; then
|
|
printf "${HD_DEV} either does not exist or is not a block device.\n"
|
|
printf "Check your configuration. Exiting.\n"
|
|
exit 1
|
|
else
|
|
printf "Starting HDAPS daemon... \n"
|
|
/usr/sbin/hdapsd -v -d $(basename ${HD_DEV}) -s ${SENSITIVITY} ${ENABLESYSLOG} \
|
|
-a -b --pidfile=${PIDFILE} 1> /dev/null
|
|
fi
|
|
fi
|
|
}
|
|
|
|
hdapsd_stop() {
|
|
printf "Stopping HDAPS daemon...\n"
|
|
if [ -f ${PIDFILE} ]; then
|
|
kill $(cat ${PIDFILE}) 2> /dev/null
|
|
rm -f ${PIDFILE}
|
|
else
|
|
killall hdapsd 2>/dev/null
|
|
fi
|
|
}
|
|
|
|
hdapsd_status() {
|
|
if [ -f ${PIDFILE} ]; then
|
|
printf "HDAPS daemon is running...\n"
|
|
else
|
|
printf "HDAPS daemon is stopped...\n"
|
|
fi
|
|
}
|
|
|
|
case $1 in
|
|
start)
|
|
hdapsd_start
|
|
;;
|
|
stop)
|
|
hdapsd_stop
|
|
;;
|
|
restart)
|
|
hdapsd_stop
|
|
hdapsd_start
|
|
;;
|
|
status)
|
|
hdapsd_status
|
|
;;
|
|
*)
|
|
printf "Usage $0 {start|stop|restart|status}\n"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|