mirror of
https://github.com/lazylibrarian/LazyLibrarian.git
synced 2026-06-12 01:28:41 -04:00
So branching to new branch, and will merge my changes from itsmeg ontop will merge branch back to head once everyone happy its stable.
81 lines
2.6 KiB
Bash
81 lines
2.6 KiB
Bash
#!/bin/sh
|
|
#
|
|
# Author: Kriss1981
|
|
#
|
|
# PROVIDE: LazyLibrarian
|
|
# REQUIRE: DAEMON sabnzbd
|
|
# KEYWORD: shutdown
|
|
#
|
|
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
|
|
# to enable this service:
|
|
#
|
|
# lazylibrarian_enable (bool): Set to NO by default.
|
|
# Set it to YES to enable it.
|
|
# lazylibrarian_user: The user account LazyLibrarian daemon runs as what
|
|
# you want it to be. It uses '_sabnzbd' user by
|
|
# default. Do not sets it as empty or it will run
|
|
# as root.
|
|
# lazylibrarian_dir: Directory where lazylibrarian lives.
|
|
# Default: /usr/local/lazylibrarian
|
|
# lazylibrarian_chdir: Change to this directory before running lazylibrarian.
|
|
# Default is same as lazylibrarian_dir.
|
|
# lazylibrarian_pid: The name of the pidfile to create.
|
|
# Default is lazylibrarian.pid in lazylibrarian_dir.
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="lazylibrarian"
|
|
rcvar=${name}_enable
|
|
|
|
load_rc_config ${name}
|
|
|
|
: ${lazylibrarian_enable:="NO"}
|
|
: ${lazylibrarian_user:="USERNAME"}
|
|
: ${lazylibrarian_dir:="/usr/local/lazylibrarian"}
|
|
: ${lazylibrarian_chdir:="${lazylibrarian_dir}"}
|
|
: ${lazylibrarian_pid:="${lazylibrarian_dir}/lazylibrarian.pid"}
|
|
PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
|
|
|
|
WGET="/usr/local/bin/wget" # You need wget for this script to safely shutdown couchpotato.
|
|
HOST="localhost" # Set LazyLibrarian address here.
|
|
PORT="5299" # Set LazyLibrarian port here.
|
|
LLUSR="" # Set LazyLibrarian username (if you use one) here.
|
|
LLPWD="" # Set LazyLibrarian password (if you use one) here.
|
|
|
|
status_cmd="${name}_status"
|
|
stop_cmd="${name}_stop"
|
|
|
|
command="/usr/sbin/daemon"
|
|
command_args="-f -p ${lazylibrarian_pid} python ${lazylibrarian_dir}/LazyLibrarian.py ${lazylibrarian_flags} --quiet"
|
|
|
|
# Ensure user is root when running this script.
|
|
if [ `id -u` != "0" ]; then
|
|
echo "Oops, you should be root before running this!"
|
|
exit 1
|
|
fi
|
|
|
|
verify_lazylibrarian_pid() {
|
|
# Make sure the pid corresponds to the lazylibrarian process.
|
|
pid=`cat ${lazylibrarian_pid} 2>/dev/null`
|
|
ps -p ${pid} | grep -q "python ${lazylibrarian_dir}/LazyLibrarian.py"
|
|
return $?
|
|
}
|
|
|
|
# Try to stop lazylibrarian cleanly by calling shutdown over http.
|
|
lazylibrarian_stop() {
|
|
echo "Stopping $name"
|
|
verify_lazylibrarian_pid
|
|
${WGET} -O - -q --user=${LLUSR} --password=${LLPWD} "http://${HOST}:${PORT}/shutdown/" >/dev/null
|
|
if [ -n "${pid}" ]; then
|
|
wait_for_pids ${pid}
|
|
echo "Stopped"
|
|
fi
|
|
}
|
|
|
|
lazylibrarian_status() {
|
|
verify_lazylibrarian_pid && echo "$name is running as ${pid}" || echo "$name is not running"
|
|
}
|
|
|
|
run_rc_command "$1"
|
|
|