Created
March 19, 2016 06:02
-
-
Save taka-wang/96418b6a37ba02e6b7bf to your computer and use it in GitHub Desktop.
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: mosquitto | |
# Required-Start: $remote_fs $syslog | |
# Required-Stop: $remote_fs $syslog | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: mosquitto MQTT v3.1 message broker | |
# Description: | |
# This is a message broker that supports version 3.1 of the MQ Telemetry | |
# Transport (MQTT) protocol. | |
# | |
# MQTT provides a method of carrying out messaging using a publish/subscribe | |
# model. It is lightweight, both in terms of bandwidth usage and ease of | |
# implementation. This makes it particularly useful at the edge of the network | |
# where a sensor or other simple device may be implemented using an arduino for | |
# example. | |
### END INIT INFO | |
set -e | |
PIDFILE=/var/run/mosquitto.pid | |
DAEMON=/usr/local/sbin/mosquitto | |
# /etc/init.d/mosquitto: start and stop the mosquitto MQTT message broker | |
test -x ${DAEMON} || exit 0 | |
umask 022 | |
. /lib/lsb/init-functions | |
# Are we running from init? | |
run_by_init() { | |
([ "$previous" ] && [ "$runlevel" ]) || [ "$runlevel" = S ] | |
} | |
export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" | |
case "$1" in | |
start) | |
log_daemon_msg "Starting Mosquitto message broker" "mosquitto" | |
if start-stop-daemon --start --quiet --oknodo --background --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} -- -c /etc/mosquitto/mosquitto.conf ; then | |
log_end_msg 0 | |
else | |
log_end_msg 1 | |
fi | |
;; | |
stop) | |
log_daemon_msg "Stopping Mosquitto message broker" "mosquitto" | |
if start-stop-daemon --stop --quiet --oknodo --pidfile ${PIDFILE}; then | |
log_end_msg 0 | |
rm -f ${PIDFILE} | |
else | |
log_end_msg 1 | |
fi | |
;; | |
reload|force-reload) | |
log_daemon_msg "Reloading configuration not supported" "mosquitto" | |
;; | |
restart) | |
log_daemon_msg "Restarting Mosquitto message broker" "mosquitto" | |
if start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile ${PIDFILE}; then | |
rm -f ${PIDFILE} | |
fi | |
if start-stop-daemon --start --quiet --oknodo --background --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} -- -c /etc/mosquitto/mosquitto.conf ; then | |
log_end_msg 0 | |
else | |
log_end_msg 1 | |
fi | |
;; | |
try-restart) | |
log_daemon_msg "Restarting Mosquitto message broker" "mosquitto" | |
set +e | |
start-stop-daemon --stop --quiet --retry 30 --pidfile ${PIDFILE} | |
RET="$?" | |
set -e | |
case $RET in | |
0) | |
# old daemon stopped | |
rm -f ${PIDFILE} | |
if start-stop-daemon --start --quiet --oknodo --background --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} -- -c /etc/mosquitto/mosquitto.conf ; then | |
log_end_msg 0 | |
else | |
log_end_msg 1 | |
fi | |
;; | |
1) | |
# daemon not running | |
log_progress_msg "(not running)" | |
log_end_msg 0 | |
;; | |
*) | |
# failed to stop | |
log_progress_msg "(failed to stop)" | |
log_end_msg 1 | |
;; | |
esac | |
;; | |
status) | |
status_of_proc -p ${PIDFILE} ${DAEMON} mosquitto && exit 0 || exit $? | |
;; | |
*) | |
log_action_msg "Usage: /etc/init.d/mosquitto {start|stop|reload|force-reload|restart|try-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