HEX
Server: Apache/2.2.34 (Unix) mod_fastcgi/mod_fastcgi-SNAP-0910052141
System: Linux Kou-Etsu-Dou 4.4.59+ #25556 SMP PREEMPT Thu Mar 4 18:03:46 CST 2021 x86_64
User: hosam (1026)
PHP: 7.2.29
Disabled: NONE
Upload Files
File: //usr/share/init/syslog-ng.conf
author "Development Infrastructure Team"
description	"start syslog-ng"

start on stopped hostname

oom score -999

respawn
respawn limit 5 10

console log

pre-start script
    # check /dev/log is a domain socket file
    # prevent error='Address already in use (98)'
    if [ ! -S /dev/log ]; then
        rm -f /dev/log
    fi

    mkdir -p /etc/syslog-ng/patterndb.d
    cp -rf /etc.defaults/syslog-ng/patterndb.d /etc/syslog-ng

    mkdir -p /etc/syslog-ng/syno.d
    cp -rf /etc.defaults/syslog-ng/syno.d /etc/syslog-ng

    if [ ! -f /etc/syslog-ng/syslog-ng.conf ]; then
        cp -f /etc.defaults/syslog-ng/syslog-ng.conf /etc/syslog-ng
    fi

    mkdir -p /etc/logrotate.d || true
    mkdir -p /etc/syslog-ng/patterndb.d/include/not2msg || true
    mkdir -p /etc/syslog-ng/patterndb.d/include/not2kern || true

    /bin/mkdir -p /run/syslog-ng || true
    chown -R system:log /run/syslog-ng || true
    chown -R system:log /etc/syslog-ng || true #XXX: why /etc/syslog-ng/ is 744 not 755 !?

    mkdir -p /usr/local/etc/logrotate.d || true
    mkdir -p /usr/local/etc/syslog-ng/patterndb.d/synolog || true
    mkdir -p /usr/local/etc/syslog-ng/patterndb.d/include/not2msg || true
    mkdir -p /usr/local/etc/syslog-ng/patterndb.d/include/not2kern || true

    mkdir -p /var/log
    chown root:root /var/log
    chmod 0755 /var/log

    if synopkg status LogCenter; then
        . /var/packages/LogCenter/scripts/pkg_utils
        MoveOperationLogToPkg || true
    fi

    /usr/syno/sbin/synologconfgen || true

    # XA
    if [ ! -f "/tmp/syslog-xa-abnoraml" ] && [ -f "/usr/syno/etc/synosyslog/available_volume" ]; then
        /usr/libexec/rootbackup/deactivate_stage/SyslogRootBackupDeactivate.sh --pre || true
	/bin/touch /tmp/syslog-xa-abnoraml || true
    fi

    echo "Starting syslog-ng"
end script

script
    CORE="$(/usr/bin/nproc --all)" || true

    # DockerDSM drop some capabilities, we must run syslog-ng as root
    if ! /usr/syno/bin/synoddsmtool --is-ddsm > /dev/null; then
        exec /usr/bin/syslog-ng -F --worker-threads=$CORE -u system -g log
    else
        exec /usr/bin/syslog-ng -F --worker-threads=$CORE
    fi
end script

post-start script
	WaitForSocket=0
	while [ ! -S /var/run/syslog -a  $WaitForSocket -lt 6 ]; do
		WaitForSocket=$(($WaitForSocket + 1))
		echo "Wait for syslog socket to be ready...($WaitForSocket)"
		sleep 0.5
	done
end script

# vim:ft=upstart