forked from Docker/baseimage-docker
Start syslog-ng before runit, and stop after runit.
When syslog-ng is managed as an runit service, application logs may be lost during shutdown, when the syslog-ng service stops before the app exits. This change uses the my_init.d directory to manage syslog-ng at a lower runlevel than runit.
This commit is contained in:
10
image/services/syslog-ng/syslog-ng.init
Executable file
10
image/services/syslog-ng/syslog-ng.init
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# If /dev/log is either a named pipe or it was placed there accidentally,
|
||||
# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25,
|
||||
# then we remove it.
|
||||
if [ ! -S /dev/log ]; then rm -f /dev/log; fi
|
||||
if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi
|
||||
|
||||
/etc/init.d/syslog-ng start
|
||||
@@ -1,32 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# If /dev/log is either a named pipe or it was placed there accidentally,
|
||||
# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25,
|
||||
# then we remove it.
|
||||
if [ ! -S /dev/log ]; then rm -f /dev/log; fi
|
||||
if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi
|
||||
|
||||
SYSLOGNG_OPTS=""
|
||||
|
||||
[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng
|
||||
|
||||
case "x$CONSOLE_LOG_LEVEL" in
|
||||
x[1-8])
|
||||
dmesg -n $CONSOLE_LOG_LEVEL
|
||||
;;
|
||||
x)
|
||||
;;
|
||||
*)
|
||||
echo "CONSOLE_LOG_LEVEL is of unaccepted value."
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ ! -e /dev/xconsole ]
|
||||
then
|
||||
mknod -m 640 /dev/xconsole p
|
||||
chown root:adm /dev/xconsole
|
||||
[ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE
|
||||
fi
|
||||
|
||||
exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS
|
||||
@@ -7,8 +7,8 @@ SYSLOG_NG_BUILD_PATH=/bd_build/services/syslog-ng
|
||||
|
||||
## Install a syslog daemon.
|
||||
$minimal_apt_get_install syslog-ng-core
|
||||
mkdir /etc/service/syslog-ng
|
||||
cp $SYSLOG_NG_BUILD_PATH/syslog-ng.runit /etc/service/syslog-ng/run
|
||||
cp $SYSLOG_NG_BUILD_PATH/syslog-ng.init /etc/my_init.d/syslog-ng.init
|
||||
cp $SYSLOG_NG_BUILD_PATH/syslog-ng.shutdown /etc/my_init.post_shutdown.d/syslog-ng.shutdown
|
||||
mkdir -p /var/lib/syslog-ng
|
||||
cp $SYSLOG_NG_BUILD_PATH/syslog_ng_default /etc/default/syslog-ng
|
||||
touch /var/log/syslog
|
||||
|
||||
3
image/services/syslog-ng/syslog-ng.shutdown
Executable file
3
image/services/syslog-ng/syslog-ng.shutdown
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
/etc/init.d/syslog-ng stop
|
||||
Reference in New Issue
Block a user