diff options
Diffstat (limited to 'meta/recipes-extended/sysklogd/files/sysklogd')
-rwxr-xr-x | meta/recipes-extended/sysklogd/files/sysklogd | 151 |
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 | |||
18 | PATH=/bin:/usr/bin:/sbin:/usr/sbin | ||
19 | |||
20 | pidfile_syslogd=/var/run/syslogd.pid | ||
21 | pidfile_klogd=/var/run/klogd.pid | ||
22 | binpath_syslogd=/sbin/syslogd | ||
23 | binpath_klogd=/sbin/klogd | ||
24 | |||
25 | test -x $binpath || exit 0 | ||
26 | |||
27 | test ! -r /etc/default/syslogd || . /etc/default/syslogd | ||
28 | |||
29 | create_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 | |||
46 | log_begin_msg () { | ||
47 | echo -n $1 | ||
48 | } | ||
49 | |||
50 | log_end_msg () { | ||
51 | echo $1 | ||
52 | } | ||
53 | |||
54 | log_success_msg () { | ||
55 | echo $1 | ||
56 | } | ||
57 | |||
58 | running() | ||
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 | |||
93 | case "$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 | ||
149 | esac | ||
150 | |||
151 | exit 0 | ||