5e651b0fb3
reliability. Among others, it offers support for on-demand disk buffering, reliable syslog over TCP, SSL, TLS and RELP, writing to databases (MySQL, PostgreSQL, Oracle, and many more), email alerting, fully configurable output formats (including high-precision timestamps),the ability to filter on any part of the syslog message, on-the-wire message compression, and the ability to convert text files to syslog. It is a drop-in replacement for stock syslogd and able to work with the same configuration file syntax. Its advanced features make it suitable for enterprise-class, encryption protected syslog relay chains while at the same time being very easy to setup for the novice user. Version 4.x.x is still in devel stage and can show stability issues. WWW: http://www.rsyslog.com/ PR: ports/130014 Submitted by: Cristiano Rolim Pereira <cristianorolim at hotmail.com>
77 lines
1.6 KiB
Bash
77 lines
1.6 KiB
Bash
#!/bin/sh
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
# PROVIDE: rsyslogd
|
|
# REQUIRE: mountcritremote cleanvar newsyslog ldconfig
|
|
# BEFORE: SERVERS
|
|
|
|
. %%RC_SUBR%%
|
|
|
|
name=rsyslogd
|
|
rcvar=`set_rcvar`
|
|
command="%%PREFIX%%/sbin/${name}"
|
|
load_rc_config $name
|
|
: ${rsyslogd_enable:="NO"}
|
|
: ${rsyslogd_pidfile:="/var/run/rsyslogd.pid"}
|
|
: ${rsyslogd_config:="%%PREFIX%%/etc/rsyslog.conf"}
|
|
pidfile="${rsyslogd_pidfile}"
|
|
command_args="-i ${pidfile} -f ${rsyslogd_config}"
|
|
required_files="${rsyslogd_config}"
|
|
start_precmd="rsyslogd_precmd"
|
|
extra_commands="reload"
|
|
|
|
sockfile="/var/run/rsyslogd.sockets"
|
|
evalargs="rc_flags=\"\`set_socketlist\` \$rc_flags\""
|
|
altlog_proglist="named"
|
|
|
|
rsyslogd_precmd()
|
|
{
|
|
local _l _ldir
|
|
|
|
# Transitional symlink for old binaries
|
|
#
|
|
if [ ! -L /dev/log ]; then
|
|
ln -sf /var/run/log /dev/log
|
|
fi
|
|
rm -f /var/run/log
|
|
|
|
# Create default list of syslog sockets to watch
|
|
#
|
|
( umask 022 ; > $sockfile )
|
|
|
|
# If running named(8) or ntpd(8) chrooted, added appropriate
|
|
# syslog socket to list of sockets to watch.
|
|
#
|
|
for _l in $altlog_proglist; do
|
|
eval _ldir=\$${_l}_chrootdir
|
|
if checkyesno `set_rcvar $_l` && [ -n "$_ldir" ]; then
|
|
echo "${_ldir}/var/run/log" >> $sockfile
|
|
fi
|
|
done
|
|
|
|
# If other sockets have been provided, change run_rc_command()'s
|
|
# internal copy of $rsyslogd_flags to force use of specific
|
|
# rsyslogd sockets.
|
|
#
|
|
if [ -s $sockfile ]; then
|
|
echo "/var/run/log" >> $sockfile
|
|
eval $evalargs
|
|
fi
|
|
|
|
return 0
|
|
}
|
|
|
|
set_socketlist()
|
|
{
|
|
local _s _socketargs
|
|
|
|
_socketargs=
|
|
for _s in `cat $sockfile | tr '\n' ' '` ; do
|
|
_socketargs="-a $_s $_socketargs"
|
|
done
|
|
echo $_socketargs
|
|
}
|
|
|
|
run_rc_command "$1"
|