slackbuilds/system/hdapsd/rc.hdapsd

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