56 lines
1.7 KiB
Bash
Executable File
56 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
|
|
BASENAME="${0##*/}"
|
|
ACTION="$1"
|
|
MOUNT_POINT="$2"
|
|
|
|
transmission_try_start() {
|
|
. /etc/default/transmission-daemon
|
|
if [ $(expr "${BASE_DIR}/" : "${MOUNT_POINT}/") -gt 0 ]; then
|
|
sed -r 's/^ENABLE_DAEMON=.*$/ENABLE_DAEMON=1/' < /etc/default/transmission-daemon > /tmp/.transmission-daemon.$$
|
|
cat /tmp/.transmission-daemon.$$ > /etc/default/transmission-daemon
|
|
rm /tmp/.transmission-daemon.$$
|
|
if [ "$(pidof transmission-daemon)" != "" ]; then
|
|
killall -9 transmission-daemon 2>&1 >/dev/null
|
|
sleep 1
|
|
fi
|
|
xMASK=$(umask); umask 0000
|
|
[ ! -d "${BASE_DIR}" ] && mkdir -p "${BASE_DIR}"
|
|
[ ! -d "${CONFIG_DIR}" ] && mkdir -p "${CONFIG_DIR}"
|
|
[ ! -d "${DOWNLOAD_DIR}" ] && mkdir -p "${DOWNLOAD_DIR}"
|
|
[ ! -d "${WATCH_DIR}" ] && mkdir -p "${WATCH_DIR}"
|
|
[ ! -f "${CONFIG_DIR}/settings.json" ] && cp "/var/lib/transmission/settings.json.template" "${CONFIG_DIR}/settings.json"
|
|
umask ${xMASK}
|
|
/etc/init.d/transmission-daemon start 2>&1 >/dev/null
|
|
fi
|
|
}
|
|
|
|
transmission_try_stop() {
|
|
. /etc/default/transmission-daemon
|
|
if [ $(expr "${BASE_DIR}/" : "${MOUNT_POINT}/") -gt 0 ]; then
|
|
sed -r 's/^ENABLE_DAEMON=.*$/ENABLE_DAEMON=0/' < /etc/default/transmission-daemon > /tmp/.transmission-daemon.$$
|
|
cat /tmp/.transmission-daemon.$$ > /etc/default/transmission-daemon
|
|
rm /tmp/.transmission-daemon.$$
|
|
if [ "$(pidof transmission-daemon)" != "" ]; then
|
|
killall -9 transmission-daemon 2>&1 >/dev/null
|
|
fi
|
|
fi
|
|
}
|
|
|
|
logger -t $BASENAME "$@ --> BEGIN"
|
|
|
|
case "$1" in
|
|
add)
|
|
transmission_try_start
|
|
;;
|
|
remove)
|
|
transmission_try_stop
|
|
;;
|
|
*)
|
|
echo "Use: $0 (add|remove) /mount/point"
|
|
esac
|
|
|
|
logger -t $BASENAME "$@ --> END"
|