Office_Networks/WF/sbin/disk-action

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"