diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2014-11-06 09:26:43 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2014-11-06 09:26:43 +0000 |
commit | dbfbb9b88abcc2522e8e46b6db218dca09771bb2 (patch) | |
tree | f72dbc18461422ea5e05027e9faa0133b6793faf /main/syslog-ng/syslog-ng.initd | |
parent | ec0afeea4567c35a0eda0f664b4649b1ab006645 (diff) | |
download | aports-dbfbb9b88abcc2522e8e46b6db218dca09771bb2.tar.bz2 aports-dbfbb9b88abcc2522e8e46b6db218dca09771bb2.tar.xz |
main/syslog-ng: move from testing
Diffstat (limited to 'main/syslog-ng/syslog-ng.initd')
-rw-r--r-- | main/syslog-ng/syslog-ng.initd | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/main/syslog-ng/syslog-ng.initd b/main/syslog-ng/syslog-ng.initd new file mode 100644 index 0000000000..647c1058c2 --- /dev/null +++ b/main/syslog-ng/syslog-ng.initd @@ -0,0 +1,76 @@ +#!/sbin/runscript +# 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() { + [ ! -f /etc/syslog-ng/syslog.conf ] && update + ebegin "Starting syslog-ng" + start-stop-daemon --start --quiet --exec /usr/sbin/syslog-ng --pidfile /run/syslog-ng.pid + eend $? +} + +stop() { + ebegin "Stopping syslog-ng" + start-stop-daemon --stop --quiet --pidfile /run/syslog-ng.pid --exec /usr/sbin/syslog-ng + 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 + echo "options {" + grep_syslog_conf_entries options + echo "};" + # create source entries + echo "source s_all {" + grep_syslog_conf_entries source + echo "};" + # 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 +} |