Blob Blame History Raw
#!/bin/bash
#
# This is a modified version of the original init script at 
# http://jasonfriedland.blogspot.com/2009/07/init-script-for-transmission-daemon-on.html
# chkconfig: - 16 84
# description: Start up transmission-daemon
#
# processname: transmission-daemon
# config: /etc/sysconfig/transmission-daemon

# source function library
. /etc/rc.d/init.d/functions

# Get network config
. /etc/sysconfig/network

[ "${NETWORKING}" = "no" ] && exit 0

# Defaults
TRANSMISSION_HOME=/var/lib/transmission

DAEMON_USER="transmission"
DAEMON_ARGS="-T --blocklist -g $TRANSMISSION_HOME/.config/transmission"


# Config overrides

if [ -f /etc/sysconfig/transmission-daemon ]; then
        . /etc/sysconfig/transmission-daemon
fi
# Daemon
NAME=transmission-daemon

DAEMON=$(which $NAME)
DAEMON_PIDFILE=/var/run/$NAME.pid
DAEMON_LOCKFILE=/var/lock/subsys/$NAME
DAEMON_SCRIPTNAME=/etc/init.d/$NAME
DAEMON_LOGFILE=/var/log/$NAME.log

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

start() {
    echo -n $"Starting ${NAME}: "
    
    if [ -n "$TRANSMISSION_HOME" ]; then
        export TRANSMISSION_HOME
    fi
    
    daemon --check $DAEMON --user $DAEMON_USER $DAEMON $DAEMON_ARGS

    sleep 2

    status $NAME &> /dev/null && echo_success || echo_failure
    RETVAL=$?

    if [ $RETVAL -eq 0 ]; then
        touch $DAEMON_LOCKFILE
        pidof -o %PPID -x $NAME > $DAEMON_PIDFILE
    fi

    echo
}

stop() {
    echo -n $"Shutting down ${NAME}: "
    
    killproc $NAME
    RETVAL=$?

    [ $RETVAL -eq 0 ] && /bin/rm -f $DAEMON_LOCKFILE $DAEMON_PIDFILE

    echo
}

case "$1" in
    start)
        start
    ;;
    stop)
        stop
    ;;
    restart|reload)
        stop
        start
    ;;
    condrestart|try-restart)
        if [ -f $DAEMON_LOCKFILE ]; then
            stop
            start
        fi
    ;;
    status)
        status $NAME
    ;;

    *)
        echo "Usage: $SCRIPTNAME {start|stop|restart|condrestart|status}" >&2
        exit 3
    ;;
esac