summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/sysklogd/files/sysklogd
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-extended/sysklogd/files/sysklogd')
-rwxr-xr-xmeta/recipes-extended/sysklogd/files/sysklogd151
1 files changed, 151 insertions, 0 deletions
diff --git a/meta/recipes-extended/sysklogd/files/sysklogd b/meta/recipes-extended/sysklogd/files/sysklogd
new file mode 100755
index 0000000000..258f882803
--- /dev/null
+++ b/meta/recipes-extended/sysklogd/files/sysklogd
@@ -0,0 +1,151 @@
1#! /bin/sh
2# /etc/init.d/sysklogd: start the system log daemon.
3
4### BEGIN INIT INFO
5# Provides: sysklogd
6# Required-Start: $remote_fs $time
7# Required-Stop: $remote_fs $time
8# Should-Start: $network
9# Should-Stop: $network
10# Default-Start: 2 3 4 5
11# Default-Stop: 0 1 6
12# Short-Description: System logger
13### END INIT INFO
14
15# Source function library.
16. /etc/init.d/functions
17
18PATH=/bin:/usr/bin:/sbin:/usr/sbin
19
20pidfile_syslogd=/var/run/syslogd.pid
21pidfile_klogd=/var/run/klogd.pid
22binpath_syslogd=/sbin/syslogd
23binpath_klogd=/sbin/klogd
24
25test -x $binpath || exit 0
26
27test ! -r /etc/default/syslogd || . /etc/default/syslogd
28
29create_xconsole()
30{
31 # Only proceed if /dev/xconsole is used at all
32 if ! grep -q '^[^#].*/dev/xconsole' /etc/syslog.conf
33 then
34 return
35 fi
36
37 if [ ! -e /dev/xconsole ]; then
38 mknod -m 640 /dev/xconsole p
39 else
40 chmod 0640 /dev/xconsole
41 fi
42 chown root:adm /dev/xconsole
43 test ! -x /sbin/restorecon || /sbin/restorecon /dev/xconsole
44}
45
46log_begin_msg () {
47 echo -n $1
48}
49
50log_end_msg () {
51 echo $1
52}
53
54log_success_msg () {
55 echo $1
56}
57
58running()
59{
60 # No pidfile, probably no daemon present
61 #
62 if [ ! -f $pidfile ]
63 then
64 return 1
65 fi
66
67 pid=`cat $pidfile_syslogd`
68
69 # No pid, probably no daemon present
70 #
71 if [ -z "$pid" ]
72 then
73 return 1
74 fi
75
76 if [ ! -d /proc/$pid ]
77 then
78 return 1
79 fi
80
81 cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1`
82
83 # No syslogd?
84 #
85 if [ "$cmd" != "$binpath" ]
86 then
87 return 1
88 fi
89
90 return 0
91}
92
93case "$1" in
94 start)
95 log_begin_msg "Starting system log daemon..."
96 create_xconsole
97 start-stop-daemon --start --quiet --pidfile $pidfile_syslogd --name syslogd --startas $binpath_syslogd -- $SYSLOGD
98 log_end_msg $?
99 log_begin_msg "Starting kernel log daemon..."
100 start-stop-daemon --start --quiet --pidfile $pidfile_klogd --name klogd --startas $binpath_klogd -- $KLOGD
101 log_end_msg $?
102 ;;
103 stop)
104 log_begin_msg "Stopping system log daemon..."
105 start-stop-daemon --stop --quiet --pidfile $pidfile_syslogd --name syslogd
106 log_end_msg $?
107 log_begin_msg "Stopping kernel log daemon..."
108 start-stop-daemon --stop --quiet --retry 3 --exec $binpath_klogd --pidfile $pidfile_klogd
109 log_end_msg $?
110 ;;
111 reload|force-reload)
112 log_begin_msg "Reloading system log daemon..."
113 start-stop-daemon --stop --quiet --signal 1 --pidfile $pidfile_syslogd --name syslogd
114 log_end_msg $?
115 log_begin_msg "Reloading kernel log daemon..."
116 start-stop-daemon --stop --quiet --retry 3 --exec $binpath_klogd --pidfile $pidfile_klogd
117 start-stop-daemon --start --quiet --pidfile $pidfile_klogd --name klogd --startas $binpath_klogd -- $KLOGD
118 log_end_msg $?
119 ;;
120 restart)
121 log_begin_msg "Restarting system log daemon..."
122 start-stop-daemon --stop --retry 5 --quiet --pidfile $pidfile_syslogd --name syslogd
123 start-stop-daemon --start --quiet --pidfile $pidfile_syslogd --name syslogd --startas $binpath_syslogd -- $SYSLOGD
124 log_end_msg $?
125 log_begin_msg "Reloading kernel log daemon..."
126 start-stop-daemon --stop --quiet --retry 3 --exec $binpath_klogd --pidfile $pidfile_klogd
127 start-stop-daemon --start --quiet --pidfile $pidfile_klogd --name klogd --startas $binpath_klogd -- $KLOGD
128 log_end_msg $?
129 ;;
130 reload-or-restart)
131 if running
132 then
133 $0 reload
134 else
135 $0 start
136 fi
137 ;;
138 status)
139 status syslogd
140 RETVAL=$?
141 status klogd
142 rval=$?
143 [ $RETVAL -eq 0 ] && exit $rval
144 exit $RETVAL
145 ;;
146 *)
147 log_success_msg "Usage: /etc/init.d/sysklogd {start|stop|reload|restart|force-reload|reload-or-restart|status}"
148 exit 1
149esac
150
151exit 0