#! /bin/sh # /etc/init.d/sysklogd: start the system log daemon. ### BEGIN INIT INFO # Provides: sysklogd # Required-Start: $local_fs $time # Required-Stop: $local_fs $time # Should-Start: $network # Should-Stop: $network # Default-Start: 2 3 4 5 # Default-Stop: 1 # Short-Description: System logger ### END INIT INFO PATH=/bin:/usr/bin:/sbin:/usr/sbin pidfile=/var/run/syslogd.pid binpath=/sbin/syslogd test -x $binpath || exit 0 # syslogd options should be set in /etc/default/syslogd SYSLOGD="" # user to run syslogd as - this can overriden in /etc/default/syslogd USER="syslog" test ! -r /etc/default/syslogd || . /etc/default/syslogd # allow ltsp to override test ! -r /etc/ltsp/syslogd || . /etc/ltsp/syslogd # Lets put user here SYSLOGD="${SYSLOGD} -u ${USER}" . /lib/lsb/init-functions create_xconsole() { # Only proceed if /dev/xconsole is used at all if ! grep -q '^[^#].*/dev/xconsole' /etc/syslog.conf then return fi if [ ! -e /dev/xconsole ]; then mknod -m 640 /dev/xconsole p else chmod 0640 /dev/xconsole fi chown ${USER}:adm /dev/xconsole test ! -x /sbin/restorecon || /sbin/restorecon /dev/xconsole } fix_log_ownership() { syslogd-listfiles -a|xargs chown ${USER}:adm } running() { # No pidfile, probably no daemon present # if [ ! -f $pidfile ] then return 1 fi pid=`cat $pidfile` # No pid, probably no daemon present # if [ -z "$pid" ] then return 1 fi if [ ! -d /proc/$pid ] then return 1 fi cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1` # No syslogd? # if [ "$cmd" != "$binpath" ] then return 1 fi return 0 } case "$1" in start) log_begin_msg "Starting system log daemon..." create_xconsole fix_log_ownership start-stop-daemon --start --quiet --pidfile $pidfile --name ${USER} --startas $binpath -- $SYSLOGD log_end_msg $? ;; stop) log_begin_msg "Stopping system log daemon..." start-stop-daemon --stop --quiet --pidfile $pidfile --name syslogd log_end_msg $? ;; reload|force-reload) log_begin_msg "Reloading system log daemon..." fix_log_ownership start-stop-daemon --stop --quiet --signal 1 --pidfile $pidfile --name syslogd log_end_msg $? ;; restart) log_begin_msg "Restarting system log daemon..." start-stop-daemon --stop --retry 5 --quiet --pidfile $pidfile --name syslogd fix_log_ownership start-stop-daemon --start --quiet --pidfile $pidfile --name syslogd --startas $binpath -- $SYSLOGD log_end_msg $? ;; reload-or-restart) if running then $0 reload else $0 start fi ;; status) status_of_proc -p $pidfile $binpath syslogd && exit 0 || exit $? ;; *) log_success_msg "Usage: /etc/init.d/sysklogd {start|stop|reload|restart|force-reload|reload-or-restart|status}" exit 1 esac exit 0