-
-
Save dkvdm/9b738227ab17993e6fb49a1b6d0d4c38 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
### BEGIN INIT INFO | |
# Default-Start: 2 3 4 5 | |
# Provides: nzbget | |
# Required-Start: $local_fs $remote_fs $network | |
# Required-Stop: $local_fs $remote_fs $network | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: start the nzbget processes | |
# Description: starts and stops nzbget | |
# Author: Jens | |
# Version: 1.0 | |
### END INIT INFO | |
NAME=nzbget | |
DESC=NZBGet | |
# User to run the daemon | |
NZBGET_USER=nobody | |
# Group to run the daemon | |
NZBGET_GROUP=nogroup | |
# Path to configfile | |
NZBGET_CONF=/opt/nzbget/nzbget.conf | |
# nzbget executable | |
NZBGET_BIN=/opt/nzbget/nzbget | |
# Setting schuduling priority | |
# -20 to 19 (most to least, default 0) | |
# if you don't want your nzbget to slow down anything else use 19 | |
# more info: man nice | |
NZBGET_NICE=15 | |
# Setting I/O scheduling class and priority | |
# Classes: idle, best-effort, realtime (default best-effort) | |
# Priorities 0-7 (default 4) | |
# more info: man ionice | |
NZBGET_IOSCHED="best-effort:4" | |
# Usually MainDir/nzbget.lock | |
# Check LockFile setting in your nzbget.conf | |
PID_FILE=/opt/nzbget/nzbget.lock | |
####################################################################### | |
## | |
### NO MODIFICATIONS PAST THIS LINE | |
## | |
####################################################################### | |
RETVAL=0 | |
set -e | |
. /lib/lsb/init-functions | |
PATH=${PATH}:/sbin | |
if [ -e $PID_FILE ]; then | |
PID=`cat $PID_FILE` | |
if ! kill -0 $PID > /dev/null 2>&1; then | |
echo "Removing stale $PID_FILE" | |
rm $PID_FILE | |
fi | |
fi | |
do_start() | |
{ | |
start-stop-daemon --start --quiet --iosched ${NZBGET_IOSCHED} --nicelevel ${NZBGET_NICE} --chuid ${NZBGET_USER}:${NZBGET_GROUP} --exec ${NZBGET_BIN} -- -D -c ${NZBGET_CONF} | |
RETVAL="$?" | |
return "$RETVAL" | |
} | |
do_stop() | |
{ | |
start-stop-daemon --stop --pidfile $PID_FILE --retry=TERM/15/KILL/5 | |
RETVAL="$?" | |
return "$RETVAL" | |
} | |
case "$1" in | |
start) | |
log_daemon_msg "Starting $DESC" "$NAME" | |
do_start | |
case "$?" in | |
0|1) log_end_msg 0 ;; | |
2) log_end_msg 1 ;; | |
esac | |
;; | |
stop) | |
log_daemon_msg "Stopping $DESC" "$NAME" | |
do_stop | |
case "$?" in | |
0|1) log_end_msg 0 ;; | |
2) log_end_msg 1 ;; | |
esac | |
;; | |
restart) | |
log_daemon_msg "Restarting $DESC" "$NAME" | |
do_stop | |
case "$?" in | |
0|1) | |
do_start | |
case "$?" in | |
0) log_end_msg 0 ;; | |
1) log_end_msg 1 ;; # Old process is still running | |
*) log_end_msg 1 ;; # Failed to start | |
esac | |
;; | |
*) | |
# Failed to stop | |
log_end_msg 1 | |
;; | |
esac | |
;; | |
status) | |
status_of_proc -p $PID_FILE "$NZBGET_BIN" "$NAME" && exit 0 || exit $? | |
;; | |
*) | |
echo "Usage: /etc/init.d/$NAME {start|stop|restart|status}" >&2 | |
exit 3 | |
;; | |
esac | |
exit $RETVAL |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment