summaryrefslogtreecommitdiff
path: root/system/rsyslog/config/rc.rsyslogd
blob: 24add02dec940fabcee9fedb54a6424eca05ccf7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/bin/sh
# Start/stop/restart the system logging daemons.
#
# Written for Slackware Linux by Patrick J. Volkerding <volkerdi@slackware.com>.
# Modded for rsyslogd by Chris Elvidge <chris@lowe.ae> Sept 2005
# slightly modified by ponce <matteo.bernardini@sns.it> Oct 2010
# rsyslogd_reload added by Christophe Trussardi <chris@teria.org> Sept 2011
#

pidfile1=/var/run/rsyslogd.pid	# native rsyslogd pid file
pidfile2=/var/run/syslogd.pid	# spoof the "old" syslogd file

create_xconsole()
{
    if [ ! -e /dev/xconsole ]; then
      mknod -m 640 /dev/xconsole p
    else
      chmod 0640 /dev/xconsole
    fi
    chown 0:0 /dev/xconsole
}

rsyslogd_start() {
  if [ -x /usr/sbin/rsyslogd ]; then
    echo "Starting rsyslogd daemon: "
    echo "/usr/sbin/rsyslogd -i $pidfile1"
    /usr/sbin/rsyslogd -i "$pidfile1"
    cp "$pidfile1" "$pidfile2"
  fi
}

rsyslogd_stop() {
  killall rsyslogd 2> /dev/null
  /usr/bin/rm $pidfile1 2> /dev/null
  /usr/bin/rm $pidfile2 2> /dev/null
}

rsyslogd_restart() {
  rsyslogd_stop
  sleep 1
  rsyslogd_start
}

rsyslogd_reload() {
  echo "Reloading rsyslogd daemon: "
  [ -f "$pidfile1" ] && /bin/kill -HUP $(cat $pidfile1)
}

case "$1" in
'start')
  create_xconsole
  rsyslogd_start
  ;;
'stop')
  rsyslogd_stop
  ;;
'restart')
  rsyslogd_restart
  ;;
'reload')
  rsyslogd_reload
  ;;
*)
  echo "usage $0 start|stop|restart|reload"
esac