diff options
author | Bartłomiej Piotrowski <bpiotrowski@alpinelinux.org> | 2013-05-25 09:25:32 +0200 |
---|---|---|
committer | Bartłomiej Piotrowski <bpiotrowski@alpinelinux.org> | 2013-05-25 09:28:03 +0200 |
commit | 26d86737c4f6bfb4b2e350b36fe85bd6cf04cd4b (patch) | |
tree | 3ad80fb804d9a4db151d9a5a1d284d79e683ff10 /testing/syslog-ng/syslog-ng.initd | |
parent | f64bfe77a6bde014a88ea2840b3a54e2281ccbbb (diff) | |
download | aports-26d86737c4f6bfb4b2e350b36fe85bd6cf04cd4b.tar.bz2 aports-26d86737c4f6bfb4b2e350b36fe85bd6cf04cd4b.tar.xz |
testing/syslog-ng: new aport
Diffstat (limited to 'testing/syslog-ng/syslog-ng.initd')
-rw-r--r-- | testing/syslog-ng/syslog-ng.initd | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/testing/syslog-ng/syslog-ng.initd b/testing/syslog-ng/syslog-ng.initd new file mode 100644 index 000000000..b657b81c1 --- /dev/null +++ b/testing/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 /var/run/syslog-ng.pid + eend $? +} + +stop() { + ebegin "Stopping syslog-ng" + start-stop-daemon --stop --quiet --pidfile /var/run/syslog-ng.pid --exec /usr/sbin/syslog-ng + eend $? +} + +reload() { + if [ ! -f /var/run/syslog-ng.pid ] + then + eerror "syslog-ng not running!" + return 1 + fi + ebegin "Reloading syslog-ng" + start-stop-daemon --signal HUP --pidfile /var/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 +} |