syslogd revision 230099
1#!/bin/sh 2# 3# $FreeBSD: head/etc/rc.d/syslogd 230099 2012-01-14 02:18:41Z dougb $ 4# 5 6# PROVIDE: syslogd 7# REQUIRE: mountcritremote cleanvar newsyslog 8# BEFORE: SERVERS 9 10. /etc/rc.subr 11 12name="syslogd" 13rcvar="syslogd_enable" 14pidfile="/var/run/syslog.pid" 15command="/usr/sbin/${name}" 16required_files="/etc/syslog.conf" 17start_precmd="syslogd_precmd" 18extra_commands="reload" 19 20sockfile="/var/run/syslogd.sockets" 21evalargs="rc_flags=\"\`set_socketlist\` \$rc_flags\"" 22altlog_proglist="named" 23 24syslogd_precmd() 25{ 26 local _l _ldir 27 28 # Transitional symlink for old binaries 29 # 30 if [ ! -L /dev/log ]; then 31 ln -sf /var/run/log /dev/log 32 fi 33 rm -f /var/run/log 34 35 # Create default list of syslog sockets to watch 36 # 37 ( umask 022 ; > $sockfile ) 38 39 # If running named(8) or ntpd(8) chrooted, added appropriate 40 # syslog socket to list of sockets to watch. 41 # 42 for _l in $altlog_proglist; do 43 eval _ldir=\$${_l}_chrootdir 44 if checkyesno ${_l}_enable && [ -n "$_ldir" ]; then 45 echo "${_ldir}/var/run/log" >> $sockfile 46 fi 47 done 48 49 # If other sockets have been provided, change run_rc_command()'s 50 # internal copy of $syslogd_flags to force use of specific 51 # syslogd sockets. 52 # 53 if [ -s $sockfile ]; then 54 echo "/var/run/log" >> $sockfile 55 eval $evalargs 56 fi 57 58 return 0 59} 60 61set_socketlist() 62{ 63 local _s _socketargs 64 65 _socketargs= 66 for _s in `cat $sockfile | tr '\n' ' '` ; do 67 _socketargs="-l $_s $_socketargs" 68 done 69 echo $_socketargs 70} 71load_rc_config $name 72run_rc_command "$1" 73