wiki:Scripts/runscript

Version 7 (modified by Waldorf, 12 years ago) (diff)

--

runscript

(for other scripts, see the Scripts page)

Description

This is the bootscript for Gentoo, for use with their init daemon.

Installation

This should be installed at /etc/init.d/ as transmission-daemon. Make the script executable:

chmod +x /etc/init.d/transmission-daemon

Configuration

It's recommended to run Transmission in it's own user. By default, the script is configured to 'transmission'. For the sake of security you shouldn't set a password on this user Try:

$ useradd -m transmission

However, you can set the USERNAME to any user you prefer.

Although you can set any setting from the init.d file, Gentoo recommends setting variables in the conf.d file. For this reason, a template configuration file can be found at the bottom.

For more information, visit the Running Transmission on a headless machine page

Use

Activate the use of the script (starts the daemon at boot time, stops it at shutdown)

$ rc-update add transmission-daemon default

Start and stop it manually by calling the init-script yourself.

$ /etc/init.d/transmission-daemon start

To stop transmission, just call the init-script with the "stop" parameter:

$ /etc/init.d/transmission-daemon stop

Scripts

"/etc/init.d/transmission-daemon"

#!/sbin/runscript
#

#
# ----- CONFIGURATION -----
#
# On Gentoo it's preferred to set variables at:
# /etc/conf.d/transmission-daemon
#
# For the default location Transmission uses, visit:
# http://trac.transmissionbt.com/wiki/ConfigFiles
# For a guide on how set the preferences, visit:
# http://trac.transmissionbt.com/wiki/EditConfigFiles
# For the available environement variables, visit:
# http://trac.transmissionbt.com/wiki/EnvironmentVariables
#
# The name of the user that should run Transmission.
# It's RECOMENDED to run Transmission in it's own user,
# by default, this is set to 'transmission'.
# For the sake of security you shouldn't set a password
# on this user.
#USERNAME=transmission


# ----- *ADVANCED* CONFIGURATION -----
# Only change these options if you know what you are doing!
#
# The folder where Transmission stores the config & web files.
# ONLY change this you have it at a non-default location!
#TRANSMISSION_HOME="/var/config/transmission-daemon"
#TRANSMISSION_WEB_HOME="/usr/share/transmission/web"
#
# The arguments passed on to transmission-daemon.
# ONLY change this you need to, otherwise use the
# settings file as per above.
#TRANSMISSION_ARGS=""


# ----- END OF CONFIGURATION -----
#
# PATH should only include /usr/* if it runs after the mountnfs.sh script.
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DESC="bittorrent client"
NAME=transmission-daemon
DAEMON=$(which $NAME)
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

depend() {
    need net
}

#
# Function that starts the daemon/service
#
start() {
    ebegin "Starting $DESC" "$NAME..."
    
    # Export the configuration/web directory, if set
    if [ -n "$TRANSMISSION_HOME" ]; then
        export TRANSMISSION_HOME
    fi
    if [ -n "$TRANSMISSION_WEB_HOME" ]; then
        export TRANSMISSION_WEB_HOME
    fi

    start-stop-daemon --start --chuid ${USERNAME:-transmission} --pidfile $PIDFILE --make-pidfile \
        --exec $DAEMON --background -- -f $TRANSMISSION_ARGS
    
    eend $?
}

#
# Function that stops the daemon/service
#
stop() {
    ebegin "Stopping $DESC" "$NAME..."

    start-stop-daemon --stop --quiet --user ${USERNAME:-transmission} \
        --pidfile $PIDFILE --name $NAME

    # Many daemons don't delete their pidfiles when they exit.
    rm -f $PIDFILE

    eend $?
}

Script "/etc/conf.d/transmission-daemon"

# /etc/conf.d/transmission-daemon
#

#
# ----- CONFIGURATION -----
#
# For the default location Transmission uses, visit:
# http://trac.transmissionbt.com/wiki/ConfigFiles
# For a guide on how set the preferences, visit:
# http://trac.transmissionbt.com/wiki/EditConfigFiles
# For the available environement variables, visit:
# http://trac.transmissionbt.com/wiki/EnvironmentVariables
#
# The name of the user that should run Transmission.
# It's RECOMENDED to run Transmission in it's own user,
# by default, this is set to 'transmission'.
# For the sake of security you shouldn't set a password
# on this user.
#USERNAME=transmission


# ----- *ADVANCED* CONFIGURATION -----
# Only change these options if you know what you are doing!
#
# The folder where Transmission stores the config & web files.
# ONLY change this you have it at a non-default location!
#TRANSMISSION_HOME="/var/config/transmission-daemon"
#TRANSMISSION_WEB_HOME="/usr/share/transmission/web"
#
# The arguments passed on to transmission-daemon.
# ONLY change this you need to, otherwise use the
# settings file as per above.
#TRANSMISSION_ARGS=""