1*4882a593Smuzhiyun#! /bin/sh 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun# Based on the Debian initscript for mosquitto 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun### BEGIN INIT INFO 6*4882a593Smuzhiyun# Provides: mosquitto 7*4882a593Smuzhiyun# Required-Start: $remote_fs $syslog 8*4882a593Smuzhiyun# Required-Stop: $remote_fs $syslog 9*4882a593Smuzhiyun# Default-Start: 2 3 4 5 10*4882a593Smuzhiyun# Default-Stop: 0 1 6 11*4882a593Smuzhiyun# Short-Description: mosquitto MQTT message broker 12*4882a593Smuzhiyun# Description: 13*4882a593Smuzhiyun# This is a message broker that supports version 3.1/3.1.1 of the MQ Telemetry 14*4882a593Smuzhiyun# Transport (MQTT) protocol. 15*4882a593Smuzhiyun# 16*4882a593Smuzhiyun# MQTT provides a method of carrying out messaging using a publish/subscribe 17*4882a593Smuzhiyun# model. It is lightweight, both in terms of bandwidth usage and ease of 18*4882a593Smuzhiyun# implementation. This makes it particularly useful at the edge of the network 19*4882a593Smuzhiyun# where a sensor or other simple device may be implemented using an arduino for 20*4882a593Smuzhiyun# example. 21*4882a593Smuzhiyun### END INIT INFO 22*4882a593Smuzhiyun 23*4882a593Smuzhiyunset -e 24*4882a593Smuzhiyun 25*4882a593SmuzhiyunPIDFILE=@LOCALSTATEDIR@/run/mosquitto.pid 26*4882a593SmuzhiyunDAEMON=@SBINDIR@/mosquitto 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun# start and stop the mosquitto MQTT message broker 29*4882a593Smuzhiyun 30*4882a593Smuzhiyuntest -x ${DAEMON} || exit 0 31*4882a593Smuzhiyun 32*4882a593Smuzhiyunumask 022 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun. @SYSCONFDIR@/init.d/functions 35*4882a593Smuzhiyun 36*4882a593Smuzhiyunexport PATH="${PATH:+$PATH:}@SBINDIR@:@BASE_SBINDIR@" 37*4882a593Smuzhiyun 38*4882a593Smuzhiyuncase "$1" in 39*4882a593Smuzhiyun start) 40*4882a593Smuzhiyun echo "Starting Mosquitto message broker" "mosquitto" 41*4882a593Smuzhiyun if start-stop-daemon --start --quiet --oknodo --background --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} -- -c @SYSCONFDIR@/mosquitto/mosquitto.conf ; then 42*4882a593Smuzhiyun exit 0 43*4882a593Smuzhiyun else 44*4882a593Smuzhiyun exit 1 45*4882a593Smuzhiyun fi 46*4882a593Smuzhiyun ;; 47*4882a593Smuzhiyun stop) 48*4882a593Smuzhiyun echo "Stopping Mosquitto message broker" "mosquitto" 49*4882a593Smuzhiyun if start-stop-daemon --stop --quiet --oknodo --pidfile ${PIDFILE}; then 50*4882a593Smuzhiyun rm -f ${PIDFILE} 51*4882a593Smuzhiyun exit 0 52*4882a593Smuzhiyun else 53*4882a593Smuzhiyun exit 1 54*4882a593Smuzhiyun fi 55*4882a593Smuzhiyun ;; 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun reload|force-reload) 59*4882a593Smuzhiyun if [ -f ${PIDFILE} ] ; then 60*4882a593Smuzhiyun echo "Reloading configuration for mosquitto" 61*4882a593Smuzhiyun pid=`cat ${PIDFILE}` 62*4882a593Smuzhiyun kill -HUP $pid 63*4882a593Smuzhiyun else 64*4882a593Smuzhiyun echo "mosquitto does not seem to be running" 65*4882a593Smuzhiyun fi 66*4882a593Smuzhiyun ;; 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun restart) 69*4882a593Smuzhiyun echo "Restarting Mosquitto message broker" "mosquitto" 70*4882a593Smuzhiyun if start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile ${PIDFILE}; then 71*4882a593Smuzhiyun rm -f ${PIDFILE} 72*4882a593Smuzhiyun fi 73*4882a593Smuzhiyun if start-stop-daemon --start --quiet --oknodo --background --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} -- -c @SYSCONFDIR@/mosquitto/mosquitto.conf ; then 74*4882a593Smuzhiyun exit 0 75*4882a593Smuzhiyun else 76*4882a593Smuzhiyun exit 1 77*4882a593Smuzhiyun fi 78*4882a593Smuzhiyun ;; 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun status) 81*4882a593Smuzhiyun status ${DAEMON} && exit 0 || exit $? 82*4882a593Smuzhiyun ;; 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun *) 85*4882a593Smuzhiyun echo "Usage: $0 {start|stop|reload|force-reload|restart|status}" 86*4882a593Smuzhiyun exit 1 87*4882a593Smuzhiyunesac 88*4882a593Smuzhiyun 89*4882a593Smuzhiyunexit 0 90