mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-12-29 05:12:18 +01:00
As syslog-ng is using syslog-ng.conf as its default configuration file syslog.conf will never exist. Therefore it's not necessary to check for the existance of syslog.conf on start.
81 lines
1.7 KiB
Plaintext
81 lines
1.7 KiB
Plaintext
#!/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 --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
|
|
grep_syslog_conf_entries plugins
|
|
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
|
|
}
|