blob: df5aa430cfb8f593e293386abca392f539d19db6 [file] [log] [blame]
#! /bin/sh
### BEGIN INIT INFO
# Provides: bootlogd
# Required-Start:
# Required-Stop:
# Default-Start: S
# Default-Stop: 2 3 4 5
# Short-Description: One of the first scripts to be executed. Starts or stops
# the bootlogd log program. If this script is called as
# "stop-bootlogd", it will stop the daemon instead of
# starting it even when called with the "start" argument.
#
### END INIT INFO
PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/sbin/bootlogd
NAME=bootlogd
DESC="Bootlog daemon"
# source function library
. /etc/init.d/functions
test -f $DAEMON || exit 0
[ -r /etc/default/bootlogd ] && . /etc/default/bootlogd
## set -e # not needed
case "$BOOTLOGD_ENABLE" in
[Nn]*)
exit 0
;;
esac
STOPPER=
ACTION="$1"
case "$0" in
*stop-bootlog*)
STOPPER=Y
if [ "$ACTION" = start ]
then
ACTION=stop
fi
;;
esac
case "$ACTION" in
start)
[ "${VERBOSE}" != "no" ] && echo -n "Starting $DESC: "
if [ -d /proc/1/. ]
then
umask 027
start-stop-daemon --start --quiet \
--exec $DAEMON -- -r -c
else
$DAEMON -r -c
fi
[ "${VERBOSE}" != "no" ] && echo "$NAME."
;;
stop)
# stop may get called during bootup, so let it honor
# rcS VERBOSE setting
[ "${VERBOSE}" != "no" ] && echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --exec $DAEMON
if [ "$STOPPER" ] && [ "$(which savelog 2>/dev/null)" ] && \
[ -f /var/log/boot ] && [ -f /var/log/boot~ ]
then
cd /var/log
chgrp adm boot
savelog -p -c 5 boot > /dev/null 2>&1
mv boot.0 boot
mv boot~ boot.0
fi
[ "${VERBOSE}" != "no" ] && echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --exec $DAEMON
echo "$NAME."
;;
status)
status $DAEMON
exit $?
;;
*)
N=${0##*/}
N=${N#[SK]??}
echo "Usage: $N {start|stop|status|restart|force-reload}" >&2
exit 1
;;
esac
exit 0