package/inadyn: refactor start script
This patch is a complete rewrite of the Inadyn start script, based on the BusyBox S01syslogd template. Additional features, compared to the template, are limited to the ability to: - Check if enabled, using an ENABLED="yes" from /etc/default/inadyn, this for compatibility with the previous version of the script - Override INADYN_ARGS from /etc/default/inadyn - A reload command that sends SIGHUP, since that works and is both quicker and a less resource intensive operation Signed-off-by: Joachim Wiberg <troglobit@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
01a7e1a9f8
commit
787f7b58a7
96
package/inadyn/S70inadyn
Normal file → Executable file
96
package/inadyn/S70inadyn
Normal file → Executable file
@ -1,44 +1,70 @@
|
||||
#!/bin/sh
|
||||
# Customizations are sourced from /etc/default/inadyn. For example,
|
||||
# override INADYN_ARGS to adjust log level, add a startup delay, etc.
|
||||
#
|
||||
# Start & stop the inadyn client
|
||||
#
|
||||
# NOTE: to start, add a line ENABLED="yes" to /etc/default/inadyn
|
||||
|
||||
CONFIG=/etc/inadyn.conf
|
||||
DAEMON="inadyn"
|
||||
PIDFILE="/var/run/$DAEMON.pid"
|
||||
|
||||
# check if CONFIG exists, print message & exit if it doesn't
|
||||
[ ! -f $CONFIG ] && ( echo "The config file "$CONFIG" is missing...exiting now." && exit 2 )
|
||||
INADYN_ARGS=""
|
||||
|
||||
# Allow a few customizations from a config file. Especially inadyn
|
||||
# must be explicitly enabled by adding ENABLED="yes" in this file.
|
||||
test -r /etc/default/inadyn && . /etc/default/inadyn
|
||||
# shellcheck source=/dev/null
|
||||
[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
|
||||
|
||||
start() {
|
||||
printf 'Starting %s: ' "$DAEMON"
|
||||
if [ "$ENABLED" != "yes" ]; then
|
||||
echo "SKIPPED"
|
||||
exit 0
|
||||
fi
|
||||
# shellcheck disable=SC2086 # we need the word splitting
|
||||
start-stop-daemon -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \
|
||||
-- $INADYN_ARGS
|
||||
status=$?
|
||||
if [ "$status" -eq 0 ]; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
return "$status"
|
||||
}
|
||||
|
||||
stop() {
|
||||
printf 'Stopping %s: ' "$DAEMON"
|
||||
start-stop-daemon -K -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON"
|
||||
status=$?
|
||||
if [ "$status" -eq 0 ]; then
|
||||
rm -f "$PIDFILE"
|
||||
echo "OK"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
return "$status"
|
||||
}
|
||||
|
||||
restart() {
|
||||
stop
|
||||
sleep 1
|
||||
start
|
||||
}
|
||||
|
||||
reload() {
|
||||
printf 'Reloading %s: ' "$DAEMON"
|
||||
start-stop-daemon -K -s HUP -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON"
|
||||
status=$?
|
||||
if [ "$status" -eq 0 ]; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
return "$status"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
printf "Starting inadyn: "
|
||||
if test "${ENABLED}" != "yes" ; then
|
||||
echo "SKIPPED"
|
||||
exit 0
|
||||
fi
|
||||
start-stop-daemon -b -q -S -p /var/run/inadyn.pid -x /usr/sbin/inadyn
|
||||
[ $? = 0 ] && echo "OK" || echo "FAIL"
|
||||
;;
|
||||
stop)
|
||||
printf "Stopping inadyn: "
|
||||
if test "${ENABLED}" != "yes" ; then
|
||||
echo "SKIPPED"
|
||||
exit 0
|
||||
fi
|
||||
start-stop-daemon -q -K -p /var/run/inadyn.pid -x /usr/sbin/inadyn
|
||||
[ $? = 0 ] && echo "OK" || echo "FAIL"
|
||||
rm -f /var/run/inadyn.pid
|
||||
;;
|
||||
restart)
|
||||
"$0" stop
|
||||
"$0" start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart}"
|
||||
start|stop|restart|reload)
|
||||
"$1";;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|reload}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $?
|
||||
|
Loading…
Reference in New Issue
Block a user