summaryrefslogtreecommitdiffhomepage
path: root/pkg/deb/debian/unit.init
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/deb/debian/unit.init')
-rw-r--r--pkg/deb/debian/unit.init104
1 files changed, 104 insertions, 0 deletions
diff --git a/pkg/deb/debian/unit.init b/pkg/deb/debian/unit.init
new file mode 100644
index 00000000..b328476a
--- /dev/null
+++ b/pkg/deb/debian/unit.init
@@ -0,0 +1,104 @@
+#!/bin/sh
+#
+# unitd NGINX Unit
+#
+### BEGIN INIT INFO
+# Provides: unitd
+# Required-Start: $network $remote_fs
+# Required-Stop: $network $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: NGINX Unit
+# Description: NGINX Unit
+### END INIT INFO
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/unitd
+NAME=unitd
+DESC=unitd
+CONFIG=/etc/unit/config
+
+[ -r /etc/default/${NAME} ] && . /etc/default/${NAME}
+
+if [ -n "$2" ]; then
+ CONFIG=$2
+fi
+
+#includes lsb functions
+. /lib/lsb/init-functions
+
+test -f $DAEMON || exit 0
+
+umask 022
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+case "$1" in
+ start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ if start-stop-daemon --start --quiet --pidfile /run/$NAME.pid \
+ --exec $DAEMON -- $DAEMON_ARGS; then
+ log_end_msg 0
+ else
+ log_end_msg 1
+ fi
+ ;;
+ status)
+ status_of_proc -p "$PIDFILE" "$DAEMON" "$NAME" && exit 0 || exit $?
+ ;;
+ stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ if start-stop-daemon --oknodo --stop --quiet --pidfile /var/run/$NAME.pid \
+ --exec $DAEMON; then
+ log_end_msg 0
+ else
+ log_end_msg 1
+ fi
+ ;;
+ reload|force-reload)
+ echo "Not implemented." >&2
+ exit 1
+ ;;
+ restart)
+ log_action_begin_msg "Restarting $DESC" "$NAME"
+
+ start-stop-daemon --stop --quiet --pidfile \
+ /var/run/$NAME.pid --exec $DAEMON || true
+ sleep 1
+ if start-stop-daemon --start --quiet --pidfile \
+ /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_ARGS; then
+ log_end_msg 0
+ else
+ log_end_msg 1
+ fi
+ ;;
+ saveconfig)
+ curl -sS --unix-socket /var/run/control.unit.sock localhost >${CONFIG}.new
+ if [ $? -ne 0 ]; then
+ echo "Could not retreive configuration" >&2
+ rm -f ${CONFIG}.new
+ exit 1
+ fi
+ mv ${CONFIG}.new ${CONFIG}
+ echo "The following configuration has been saved to ${CONFIG}:"
+ cat ${CONFIG}
+ ;;
+ loadconfig)
+ if [ ! -e ${CONFIG} ]; then
+ echo "Could not find ${CONFIG} for loading" >&2
+ exit 1
+ fi
+ echo "Loading configuration from ${CONFIG}..."
+ curl -sS -X PUT --data-binary @${CONFIG} --unix-socket /var/run/control.unit.sock localhost
+ if [ $? -ne 0 ]; then
+ echo "Loading failed!" >&2
+ exit 1
+ fi
+ ;;
+ *)
+ echo "Usage: /etc/init.d/$NAME {start|status|stop|restart|reload|force-reload|saveconfig|loadconfig}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0