Created
January 12, 2017 15:23
-
-
Save clivewalkden/498a18f35cf58015b4b0631777fe1f29 to your computer and use it in GitHub Desktop.
Jackett-public init.d script
This file contains 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 | |
# Provides: Jackett | |
# Required-Start: $local_fs $network $remote_fs | |
# Required-Stop: $local_fs $network $remote_fs | |
# Should-Start: $NetworkManager | |
# Should-Stop: $NetworkManager | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: starts instance of Jackett | |
# Description: starts instance of Jackett using start-stop-daemon | |
### END INIT INFO | |
############### EDIT ME ################## | |
# path to app | |
APP_PATH=/opt/Jackett-public | |
# user | |
RUN_AS=root | |
# path to mono bin | |
DAEMON=$(which mono) | |
# Path to store PID file | |
PID_FILE=/var/run/jackett/jackett.pid | |
PID_PATH=$(dirname $PID_FILE) | |
# script name | |
NAME=jackett | |
# app name | |
DESC=Jackett | |
# startup args | |
EXENAME="JackettConsole.exe" | |
DAEMON_OPTS=" "$EXENAME | |
############### END EDIT ME ################## | |
JACKETT_PID=`ps auxf | grep $EXENAME | grep -v grep | awk '{print $2}'` | |
test -x $DAEMON || exit 0 | |
set -e | |
#Look for PID and create if doesn't exist | |
if [ ! -d $PID_PATH ]; then | |
mkdir -p $PID_PATH | |
chown $RUN_AS $PID_PATH | |
fi | |
if [ ! -d $DATA_DIR ]; then | |
mkdir -p $DATA_DIR | |
chown $RUN_AS $DATA_DIR | |
fi | |
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 | |
echo $JACKETT_PID > $PID_FILE | |
case "$1" in | |
start) | |
if [ -z "${JACKETT_PID}" ]; then | |
echo "Starting $DESC" | |
rm -rf $PID_PATH || return 1 | |
install -d --mode=0755 -o $RUN_AS $PID_PATH || return 1 | |
start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS | |
else | |
echo "Jackett already running." | |
fi | |
;; | |
stop) | |
echo "Stopping $DESC" | |
echo $JACKETT_PID > $PID_FILE | |
start-stop-daemon --stop --pidfile $PID_FILE --retry 15 | |
;; | |
restart|force-reload) | |
echo "Restarting $DESC" | |
start-stop-daemon --stop --pidfile $PID_FILE --retry 15 | |
start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS | |
;; | |
status) | |
# Use LSB function library if it exists | |
if [ -f /lib/lsb/init-functions ]; then | |
. /lib/lsb/init-functions | |
if [ -e $PID_FILE ]; then | |
status_of_proc -p $PID_FILE "$DAEMON" "$NAME" && exit 0 || exit $? | |
else | |
log_daemon_msg "$NAME is not running" | |
exit 3 | |
fi | |
else | |
# Use basic functions | |
if [ -e $PID_FILE ]; then | |
PID=`cat $PID_FILE` | |
if kill -0 $PID > /dev/null 2>&1; then | |
echo " * $NAME is running" | |
exit 0 | |
fi | |
else | |
echo " * $NAME is not running" | |
exit 3 | |
fi | |
fi | |
;; | |
*) | |
N=/etc/init.d/$NAME | |
echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 | |
exit 1 | |
;; | |
esac | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment