Last active
March 16, 2019 17:33
-
-
Save willvincent/db5c785af2ce636a7cd8e1cb752cb52c to your computer and use it in GitHub Desktop.
init.d start/stop script for mrc client
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 | |
# Provides: myservice | |
# Required-Start: $remote_fs $syslog | |
# Required-Stop: $remote_fs $syslog | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: Put a short description of the service here | |
# Description: Put a long description of the service here | |
### END INIT INFO | |
# Change the next 3 lines to suit where you have mystic installed, | |
# what remote mrc server to connect to, and on which port | |
# Most likley you only need to set the dir | |
DIR=/path/to/mystic | |
REMOTE_SERVER=mrc.bottomlessabyss.net | |
PORT=5000 | |
# user to run the script as. This should probably be the same user you run mystic as | |
DAEMON_USER=mystic | |
## DO NOT EDIT BELOW THIS LINE ## | |
DAEMON=$DIR/mrc_client.py | |
DAEMON_NAME=mrc_client | |
DAEMON_OPTS="$REMOTE_SERVER $PORT" | |
# The process ID of the script when it runs is stored here: | |
PIDFILE=/var/run/$DAEMON_NAME.pid | |
. /lib/lsb/init-functions | |
do_start () { | |
log_daemon_msg "Starting system $DAEMON_NAME daemon" | |
start-stop-daemon --start --background --pidfile $PIDFILE --make-pidfile --user $DAEMON_USER --chuid $DAEMON_USER --startas $DAEMON $DAEMON_OPTS > $DIR/logs/mrc_client.log 2>&1 | |
log_end_msg $? | |
} | |
do_stop () { | |
log_daemon_msg "Stopping system $DAEMON_NAME daemon" | |
start-stop-daemon --stop --pidfile $PIDFILE --retry 10 | |
log_end_msg $? | |
} | |
case "$1" in | |
start|stop) | |
do_${1} | |
;; | |
restart|reload|force-reload) | |
do_stop | |
do_start | |
;; | |
status) | |
status_of_proc "$DAEMON_NAME" "$DAEMON" && exit 0 || exit $? | |
;; | |
*) | |
echo "Usage: /etc/init.d/$DAEMON_NAME {start|stop|restart|status}" | |
exit 1 | |
;; | |
esac | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Note, in order for this to work the mrc_client.py must be modified,
changing line 51 from:
bbsdir = os.getcwd()
to:
bbsdir = os.path.dirname(os.path.realpath(__file__))
This ensures the script knows its own path, rather than the path you were in when it was launched, which in the case of this init.d script would simply by
/