diff options
Diffstat (limited to 'network/sickrage/rc.sickrage')
-rw-r--r-- | network/sickrage/rc.sickrage | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/network/sickrage/rc.sickrage b/network/sickrage/rc.sickrage new file mode 100644 index 0000000000..8991897925 --- /dev/null +++ b/network/sickrage/rc.sickrage @@ -0,0 +1,104 @@ +#!/bin/sh +# Start/stop/restart sickrage. + +# rc.sickrage created by Jeremy Brent Hansen for Slackware + +# Set program name in case you want to run sick{beard|rage|gear|etc} +PROG=${PROG:-sickrage} + +# Source SickRage configuration +if [ -f /etc/${PROG}.conf ]; then + . /etc/${PROG}.conf +fi + +# Ensure all required variables are set in conf file +# Edit conf file in /etc/sickrage.conf for any changes +for var in USERNAME HOMEDIR DATADIR PIDFILE PORT; do + if [ -z "${!var}" ]; then + echo "/etc/${PROG}.conf is missing some or all required variables ($var)." + echo "Please check the file and try again." + exit 1 + fi +done + +# Check if the pid file exists +check() { + if [ -e $PIDFILE ]; then + STATUS=running + else + STATUS=stopped + fi +} + +status() { + if [ $STATUS == "running" ]; then + echo "${PROG} currently running or not shut down properly." + echo "PIDfile: $PIDFILE already exists." + elif [ $STATUS == "stopped" ]; then + echo "${PROG} not started." + echo "PIDfile: $PIDFILE does not exist." + else + echo "Status unknown." + fi +} + +start() { + if [ $STATUS == "running" ]; then + echo "$PROG already running or not shut down properly." + else + echo -n "Starting ${PROG}: " + su $USERNAME -s /bin/sh -c "python ${HOMEDIR}/SickBeard.py --daemon --pidfile=${PIDFILE} --datadir=${DATADIR} --port=${PORT} &> /dev/null" + if (( $? == 0 )); then + echo "Startup Successful" + else + echo "Startup Failed. Please try running the following to see the errors." + echo "su $USERNAME -s /bin/sh -c \"python ${HOMEDIR}/SickBeard.py --daemon --pidfile=${PIDFILE} --datadir=${DATADIR} --port=${PORT}\"" + fi + fi +} + +stop() { + if [ $STATUS == "stopped" ]; then + echo "${PROG} doesn't seem to be running. Please try running" + echo "$0 start" + else + if [ "$EUID" -ne 0 ];then + echo "Please run as root" + exit 1 + fi + PID=$(cat $PIDFILE) + echo -n $"Shutting down ${PROG}: " + curl -f http://localhost:${PORT}/home/shutdown/?pid=${PID} &> /dev/null + if [ $? -gt 0 ]; then + echo "Normal Shutdown Failed - Attempting to kill the process." + echo $? + sleep 7 + kill -9 $PID + else + echo "Shutdown Successful" + fi + fi +} + +case "$1" in + start) + check + start + ;; + stop) + check + stop + ;; + restart) + check + stop + start + ;; + status) + check + status + ;; + *) + echo "Usage: $0 {start|stop|restart|status}" + exit 1 +esac |