mirror of
https://github.com/phusion/baseimage-docker.git
synced 2026-03-26 20:38:58 +00:00
46 lines
1.3 KiB
Bash
Executable File
46 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
set -em
|
|
|
|
# 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
|
|
|
|
# determine output mode on /dev/stdout because of the issue documented at https://github.com/phusion/baseimage-docker/issues/468
|
|
if [ -p /dev/stdout ]; then
|
|
sed -i 's/##SYSLOG_OUTPUT_MODE_DEV_STDOUT##/pipe/' /etc/syslog-ng/syslog-ng.conf
|
|
else
|
|
sed -i 's/##SYSLOG_OUTPUT_MODE_DEV_STDOUT##/file/' /etc/syslog-ng/syslog-ng.conf
|
|
fi
|
|
|
|
# If /var/log is writable by another user logrotate will fail
|
|
/bin/chown root:root /var/log
|
|
/bin/chmod 0755 /var/log
|
|
|
|
PIDFILE="/var/run/syslog-ng.pid"
|
|
SYSLOGNG_OPTS=""
|
|
|
|
[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng
|
|
|
|
syslogng_wait() {
|
|
if [ "$2" -ne 0 ]; then
|
|
return 1
|
|
fi
|
|
|
|
RET=1
|
|
for i in $(seq 1 30); do
|
|
status=0
|
|
syslog-ng-ctl stats >/dev/null 2>&1 || status=$?
|
|
if [ "$status" != "$1" ]; then
|
|
RET=0
|
|
break
|
|
fi
|
|
sleep 1s
|
|
done
|
|
return $RET
|
|
}
|
|
|
|
/usr/sbin/syslog-ng --pidfile "$PIDFILE" -F $SYSLOGNG_OPTS &
|
|
syslogng_wait 1 $?
|