# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
extra_started_commands="reload"
[ ! -f /etc/syslog-ng/syslog-ng.conf ] && update
ebegin "Starting syslog-ng"
start-stop-daemon --start --quiet --exec /usr/sbin/syslog-ng --pidfile /run/syslog-ng.pid
ebegin "Stopping syslog-ng"
start-stop-daemon --stop --quiet --pidfile /run/syslog-ng.pid --exec /usr/sbin/syslog-ng
if [ ! -f /run/syslog-ng.pid ]
eerror "syslog-ng not running!"
ebegin "Reloading syslog-ng"
start-stop-daemon --signal HUP --pidfile /run/syslog-ng.pid --exec /usr/sbin/syslog-ng
grep_syslog_conf_entries() {
local section="$1" FN filelist timezone
filelist=$(find /etc/syslog-ng/ -maxdepth 1 -type f -name "syslog-ng-${section}.*" | grep -Ev ".backup|.std|~")
timezone=$(find /etc/zoneinfo -type f -print0 | sed "s#/etc/zoneinfo/##g")
[ "$timezone" = "UTC" ] && timezone=""
[ -n "$timezone" ] && timezone="time_zone(\"$timezone\")"
grep -v '^#' /etc/syslog-ng/syslog-ng-${section}.std | sed "s#_TZ_#${timezone}#g"
grep -v '^#' $FN | sed "s#_TZ_#${timezone}#g"
local fname='/etc/syslog-ng/syslog-ng.conf'
local f_tmp="/etc/syslog-ng/syslog-ng.conf.$$"
for ng_std in options source destination filter log
[ -f /etc/syslog-ng/syslog-ng-${ng_std}.std ] || exit 1
grep_syslog_conf_entries plugins
grep_syslog_conf_entries options
grep_syslog_conf_entries source
# create destination entries
grep_syslog_conf_entries destination
grep_syslog_conf_entries filter
grep_syslog_conf_entries log
echo "@include '/etc/syslog-ng/conf.d/*.conf'"