#!/sbin/openrc-run # Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 extra_commands="update" extra_started_commands="reload" depend() { need hostname localmount before net provide logger } start_pre() { update } start() { ebegin "Starting syslog-ng" start-stop-daemon --start --quiet --pidfile /run/syslog-ng.pid --exec /usr/sbin/syslog-ng -- --process-mode background eend $? } stop() { ebegin "Stopping syslog-ng" start-stop-daemon --stop --quiet --pidfile /run/syslog-ng.pid eend $? } reload() { if [ ! -f /run/syslog-ng.pid ] then eerror "syslog-ng not running!" return 1 fi ebegin "Reloading syslog-ng" start-stop-daemon --signal HUP --pidfile /run/syslog-ng.pid --exec /usr/sbin/syslog-ng eend $? } grep_syslog_conf_entries() { local section="$1" FN filelist grep -v '^#' /etc/syslog-ng/syslog-ng-${section}.std filelist=$(find /etc/syslog-ng/ -maxdepth 1 -type f -name "syslog-ng-${section}.*" | grep -Ev ".backup|.std|~") if [ $? -eq 0 ] then for FN in ${filelist} do grep -v '^#' $FN done fi } update() { 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 do [ -f /etc/syslog-ng/syslog-ng-${ng_std}.std ] || exit 1 done { # create options entries grep_syslog_conf_entries plugins echo "options {" grep_syslog_conf_entries options echo "};" # create source entries grep_syslog_conf_entries source # create destination entries grep_syslog_conf_entries destination # create filter entries grep_syslog_conf_entries filter # create log entries grep_syslog_conf_entries log } > $f_tmp cp -p $f_tmp $fname rm -f $f_tmp }