mirror of
https://github.com/lidarr/Lidarr
synced 2025-01-03 05:25:10 +00:00
Created Autostart on Linux (markdown)
parent
4dc9f6b84e
commit
d48748555c
1 changed files with 124 additions and 0 deletions
124
Autostart-on-Linux.md
Normal file
124
Autostart-on-Linux.md
Normal file
|
@ -0,0 +1,124 @@
|
|||
```
|
||||
#! /bin/sh
|
||||
### BEGIN INIT INFO
|
||||
# Provides: Lidarr
|
||||
# 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 Lidarr
|
||||
# Description: starts instance of Lidarr using start-stop-daemon
|
||||
### END INIT INFO
|
||||
|
||||
############### EDIT ME ##################
|
||||
# path to app
|
||||
APP_PATH=/opt/Lidarr
|
||||
|
||||
# user
|
||||
RUN_AS=lidarr
|
||||
|
||||
# path to mono bin
|
||||
DAEMON=$(which mono)
|
||||
|
||||
# Path to store PID file
|
||||
PID_FILE=/var/run/lidarr/lidarr.pid
|
||||
PID_PATH=$(dirname $PID_FILE)
|
||||
|
||||
# script name
|
||||
NAME=lidarr
|
||||
|
||||
# app name
|
||||
DESC=Lidarr
|
||||
|
||||
# startup args
|
||||
EXENAME="Lidarr.exe"
|
||||
DAEMON_OPTS=" "$EXENAME
|
||||
|
||||
############### END EDIT ME ##################
|
||||
|
||||
LIDARR_PID=`ps auxf | grep Lidarr.exe | 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 $LIDARR_PID > $PID_FILE
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
if [ -z "${LIDARR_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 "Lidarr already running."
|
||||
fi
|
||||
;;
|
||||
stop)
|
||||
echo "Stopping $DESC"
|
||||
echo $LIDARR_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
|
||||
|
||||
```
|
Loading…
Reference in a new issue