summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--[-rwxr-xr-x]recipes-extended/sysklogd/files/sysklogd47
1 files changed, 29 insertions, 18 deletions
diff --git a/recipes-extended/sysklogd/files/sysklogd b/recipes-extended/sysklogd/files/sysklogd
index 8c6eeb5..e49c2da 100755..100644
--- a/recipes-extended/sysklogd/files/sysklogd
+++ b/recipes-extended/sysklogd/files/sysklogd
@@ -12,12 +12,13 @@
12# Short-Description: System logger 12# Short-Description: System logger
13### END INIT INFO 13### END INIT INFO
14 14
15# Source function library.
16. /etc/init.d/functions
17
15PATH=/bin:/usr/bin:/sbin:/usr/sbin 18PATH=/bin:/usr/bin:/sbin:/usr/sbin
16 19
17pidfile_syslogd=/var/run/syslogd.pid 20pidfile_syslogd=/var/run/syslogd.pid
18pidfile_klogd=/var/run/klogd.pid 21binpath_syslogd=/usr/sbin/syslogd
19binpath_syslogd=/sbin/syslogd
20binpath_klogd=/sbin/klogd
21 22
22test -x $binpath || exit 0 23test -x $binpath || exit 0
23 24
@@ -87,6 +88,22 @@ running()
87 return 0 88 return 0
88} 89}
89 90
91waitpid ()
92{
93 pid=$1
94 # Give pid a chance to exit before we restart with a 5s timeout in 1s intervals
95 if [ -z "$pid" ]; then
96 return
97 fi
98 timeout=5;
99 while [ $timeout -gt 0 ]
100 do
101 timeout=$(( $timeout-1 ))
102 kill -0 $pid 2> /dev/null || break
103 sleep 1
104 done
105}
106
90case "$1" in 107case "$1" in
91 start) 108 start)
92 log_begin_msg "Starting system log daemon..." 109 log_begin_msg "Starting system log daemon..."
@@ -94,36 +111,24 @@ case "$1" in
94 start-stop-daemon --start --quiet --pidfile $pidfile_syslogd --name syslogd --startas $binpath_syslogd -- $SYSLOGD 111 start-stop-daemon --start --quiet --pidfile $pidfile_syslogd --name syslogd --startas $binpath_syslogd -- $SYSLOGD
95 test ! -x /sbin/restorecon || /sbin/restorecon -RF /dev/log /var/log/ 112 test ! -x /sbin/restorecon || /sbin/restorecon -RF /dev/log /var/log/
96 log_end_msg $? 113 log_end_msg $?
97 log_begin_msg "Starting kernel log daemon..."
98 start-stop-daemon --start --quiet --pidfile $pidfile_klogd --name klogd --startas $binpath_klogd -- $KLOGD
99 log_end_msg $?
100 ;; 114 ;;
101 stop) 115 stop)
102 log_begin_msg "Stopping system log daemon..." 116 log_begin_msg "Stopping system log daemon..."
103 start-stop-daemon --stop --quiet --pidfile $pidfile_syslogd --name syslogd 117 start-stop-daemon --stop --quiet --pidfile $pidfile_syslogd --name syslogd
104 log_end_msg $? 118 log_end_msg $?
105 log_begin_msg "Stopping kernel log daemon..."
106 start-stop-daemon --stop --quiet --retry 3 --exec $binpath_klogd --pidfile $pidfile_klogd
107 log_end_msg $?
108 ;; 119 ;;
109 reload|force-reload) 120 reload|force-reload)
110 log_begin_msg "Reloading system log daemon..." 121 log_begin_msg "Reloading system log daemon..."
111 start-stop-daemon --stop --quiet --signal 1 --pidfile $pidfile_syslogd --name syslogd 122 start-stop-daemon --stop --quiet --signal 1 --pidfile $pidfile_syslogd --name syslogd
112 log_end_msg $? 123 log_end_msg $?
113 log_begin_msg "Reloading kernel log daemon..."
114 start-stop-daemon --stop --quiet --retry 3 --exec $binpath_klogd --pidfile $pidfile_klogd
115 start-stop-daemon --start --quiet --pidfile $pidfile_klogd --name klogd --startas $binpath_klogd -- $KLOGD
116 log_end_msg $?
117 ;; 124 ;;
118 restart) 125 restart)
119 log_begin_msg "Restarting system log daemon..." 126 log_begin_msg "Restarting system log daemon..."
127 pid=`cat $pidfile_syslogd 2> /dev/null`
120 start-stop-daemon --stop --retry 5 --quiet --pidfile $pidfile_syslogd --name syslogd 128 start-stop-daemon --stop --retry 5 --quiet --pidfile $pidfile_syslogd --name syslogd
129 waitpid $pid
121 start-stop-daemon --start --quiet --pidfile $pidfile_syslogd --name syslogd --startas $binpath_syslogd -- $SYSLOGD 130 start-stop-daemon --start --quiet --pidfile $pidfile_syslogd --name syslogd --startas $binpath_syslogd -- $SYSLOGD
122 log_end_msg $? 131 log_end_msg $?
123 log_begin_msg "Reloading kernel log daemon..."
124 start-stop-daemon --stop --quiet --retry 3 --exec $binpath_klogd --pidfile $pidfile_klogd
125 start-stop-daemon --start --quiet --pidfile $pidfile_klogd --name klogd --startas $binpath_klogd -- $KLOGD
126 log_end_msg $?
127 ;; 132 ;;
128 reload-or-restart) 133 reload-or-restart)
129 if running 134 if running
@@ -133,8 +138,14 @@ case "$1" in
133 $0 start 138 $0 start
134 fi 139 fi
135 ;; 140 ;;
141 status)
142 status syslogd
143 RETVAL=$?
144 [ $RETVAL -eq 0 ] && exit $rval
145 exit $RETVAL
146 ;;
136 *) 147 *)
137 log_success_msg "Usage: /etc/init.d/sysklogd {start|stop|reload|restart|force-reload|reload-or-restart}" 148 log_success_msg "Usage: /etc/init.d/sysklogd {start|stop|reload|restart|force-reload|reload-or-restart|status}"
138 exit 1 149 exit 1
139esac 150esac
140 151