Permalink
Cannot retrieve contributors at this time
Fetching contributors…
| #!/bin/sh | |
| # | |
| ### BEGIN INIT INFO | |
| # Provides: sickrage | |
| # 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 SickRage | |
| # Description: starts instance of SickRage using start-stop-daemon | |
| ### END INIT INFO | |
| # Source SickRage configuration | |
| if [ -f /etc/default/sickrage ]; then | |
| . /etc/default/sickrage | |
| else | |
| echo "/etc/default/sickrage not found using default settings."; | |
| fi | |
| # Source init functions | |
| . /lib/lsb/init-functions | |
| # Script name | |
| NAME=sickrage | |
| # App name | |
| DESC=SickRage | |
| ## Don't edit this file | |
| ## Edit user configuation in /etc/default/sickrage to change | |
| ## | |
| ## SR_USER= #$RUN_AS, username to run sickrage under, the default is sickrage | |
| ## SR_HOME= #$APP_PATH, the location of SiCKRAGE.py, the default is /opt/sickrage | |
| ## SR_DATA= #$DATA_DIR, the location of sickrage.db, cache, logs, the default is /opt/sickrage | |
| ## SR_PIDFILE= #$PID_FILE, the location of sickrage.pid, the default is /var/run/sickrage/sickrage.pid | |
| ## PYTHON_BIN= #$DAEMON, the location of the python binary, the default is /usr/bin/python2.7 | |
| ## SR_OPTS= #$EXTRA_DAEMON_OPTS, extra cli option for sickrage, i.e. " --config=/home/sickrage/config.ini" | |
| ## SSD_OPTS= #$EXTRA_SSD_OPTS, extra start-stop-daemon option like " --group=users" | |
| ## | |
| ## EXAMPLE if want to run as different user | |
| ## add SR_USER=username to /etc/default/sickrage | |
| ## otherwise default sickrage is used | |
| ## The defaults | |
| # Run as username | |
| RUN_AS=${SR_USER-sickrage} | |
| # Path to app SR_HOME=path_to_app_SiCKRAGE.py | |
| APP_PATH=${SR_HOME-/opt/sickrage} | |
| # Data directory where sickrage.db, cache and logs are stored | |
| DATA_DIR=${SR_DATA-/opt/sickrage} | |
| # Path to store PID file | |
| PID_FILE=${SR_PIDFILE-/var/run/sickrage/sickrage.pid} | |
| # path to python bin | |
| DAEMON=${PYTHON_BIN-/usr/bin/python2.7} | |
| # Extra daemon option like: SR_OPTS=" --config=/home/sickrage/config.ini" | |
| EXTRA_DAEMON_OPTS=${SR_OPTS-} | |
| # Extra start-stop-daemon option like START_OPTS=" --group=users" | |
| EXTRA_SSD_OPTS=${SSD_OPTS-} | |
| ## | |
| PID_PATH=`dirname $PID_FILE` | |
| DAEMON_OPTS=" SiCKRAGE.py -q --daemon --nolaunch --pidfile=${PID_FILE} --datadir=${DATA_DIR} ${EXTRA_DAEMON_OPTS}" | |
| ## | |
| test -x $DAEMON || exit 0 | |
| set -e | |
| # Create PID directory if not exist and ensure the SickRage user can write to it | |
| 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 | |
| start_sickrage() { | |
| echo "Starting $DESC" | |
| start-stop-daemon -d $APP_PATH -c $RUN_AS $EXTRA_SSD_OPTS --start --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS | |
| } | |
| stop_sickrage() { | |
| echo "Stopping $DESC" | |
| start-stop-daemon --stop --pidfile $PID_FILE --retry 15 | |
| } | |
| case "$1" in | |
| start) | |
| start_sickrage | |
| ;; | |
| stop) | |
| stop_sickrage | |
| ;; | |
| restart|force-reload) | |
| stop_sickrage | |
| sleep 2 | |
| start_sickrage | |
| ;; | |
| status) | |
| status_of_proc -p "$PID_FILE" "$DAEMON" "$DESC" | |
| ;; | |
| *) | |
| N=/etc/init.d/$NAME | |
| echo "Usage: $N {start|stop|restart|force-reload}" >&2 | |
| exit 1 | |
| ;; | |
| esac | |
| exit 0 |