|
|
|
#!/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
|
|
|
|
|
|
|
|
# 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"
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
|
|
|
|