]>
Commit | Line | Data |
---|---|---|
8438c275 | 1 | #!/bin/sh |
2 | # | |
752897ef | 3 | # syslog Starts syslog-ng (syslogd replacement). |
8438c275 | 4 | # |
0e4e3ce1 | 5 | # chkconfig: 2345 17 83 |
8438c275 | 6 | # description: Syslog is the facility by which many daemons use to log \ |
7 | # messages to various system log files. It is a good idea to \ | |
8 | # always run syslog. | |
9 | ||
10 | # Source function library | |
11 | . /etc/rc.d/init.d/functions | |
12 | ||
8438c275 | 13 | # Get service config |
1ce70fc9 | 14 | if [ -f /etc/sysconfig/syslog-ng ]; then |
ce032b45 | 15 | . /etc/sysconfig/syslog-ng |
8438c275 | 16 | fi |
17 | ||
cf338514 ER |
18 | # configtest itself |
19 | # must return non-zero if check failed | |
20 | # output is discarded if checkconfig is ran without details | |
21 | configtest() { | |
f493795e | 22 | syslog-ng $OPTIONS -F -s -p /var/run/syslog-ng-syntaxcheck.pid |
cf338514 | 23 | return $? |
f493795e ER |
24 | } |
25 | ||
cf338514 ER |
26 | # wrapper for configtest |
27 | checkconfig() { | |
28 | local details=${1:-0} | |
29 | ||
30 | if [ $details = 1 ]; then | |
31 | # run config test and display report (status action) | |
32 | show "Checking %s configuration" "syslog-ng"; busy | |
33 | local out | |
34 | out=$(configtest 2>&1) | |
35 | RETVAL=$? | |
36 | if [ $RETVAL = 0 ]; then | |
37 | ok | |
38 | else | |
39 | fail | |
40 | fi | |
41 | [ "$out" ] && echo >&2 "$out" | |
42 | else | |
43 | # run config test and abort with nice message if failed | |
44 | # (for actions checking status before action). | |
45 | configtest >/dev/null 2>&1 | |
46 | RETVAL=$? | |
47 | if [ $RETVAL != 0 ]; then | |
48 | show "Checking %s configuration" "syslog-ng"; fail | |
49 | nls 'Configuration test failed. See details with %s "checkconfig"' $0 | |
50 | exit $RETVAL | |
51 | fi | |
f493795e | 52 | fi |
98e38ddd ER |
53 | } |
54 | ||
37c89292 | 55 | start() { |
8438c275 | 56 | # Check if the service is already running? |
e4d7f272 | 57 | if [ -f /var/lock/subsys/syslog-ng ]; then |
129b066d | 58 | msg_already_running "syslog-ng" |
e4d7f272 | 59 | return |
8438c275 | 60 | fi |
e4d7f272 ER |
61 | |
62 | msg_starting "syslog-ng" | |
528e8fc2 | 63 | emit starting JOB=syslog-ng SERVICE_syslog=y |
7946d1bb | 64 | daemon @@SBINDIR@@/syslog-ng -f /etc/syslog-ng/syslog-ng.conf --worker-threads=1024 $OPTIONS |
e4d7f272 ER |
65 | RETVAL=$? |
66 | [ $RETVAL -eq 0 ] && touch /var/lock/subsys/syslog-ng | |
99e95bd0 | 67 | emit --no-wait started JOB=syslog-ng SERVICE_syslog=y |
37c89292 ER |
68 | } |
69 | ||
70 | stop() { | |
e4d7f272 | 71 | if [ ! -f /var/lock/subsys/syslog-ng ]; then |
e968d50c | 72 | msg_not_running "syslog-ng" |
e4d7f272 | 73 | return |
1dbda459 | 74 | fi |
e4d7f272 ER |
75 | |
76 | msg_stopping "syslog-ng" | |
528e8fc2 | 77 | emit stopping JOB=syslog-ng SERVICE_syslog=y |
e4d7f272 | 78 | killproc syslog-ng |
528e8fc2 | 79 | emit --no-wait stopped JOB=syslog-ng SERVICE_syslog=y |
e4d7f272 | 80 | rm -f /var/lock/subsys/syslog-ng >/dev/null 2>&1 |
37c89292 ER |
81 | } |
82 | ||
3aedaaf3 | 83 | condrestart() { |
e4d7f272 | 84 | if [ ! -f /var/lock/subsys/syslog-ng ]; then |
e968d50c | 85 | msg_not_running "syslog-ng" |
3aedaaf3 | 86 | RETVAL=$1 |
e4d7f272 | 87 | return |
3aedaaf3 | 88 | fi |
e4d7f272 | 89 | |
cf338514 | 90 | checkconfig |
e4d7f272 ER |
91 | stop |
92 | start | |
3aedaaf3 JB |
93 | } |
94 | ||
a29e358d | 95 | reload() { |
e4d7f272 | 96 | if [ ! -f /var/lock/subsys/syslog-ng ]; then |
a29e358d | 97 | msg_not_running "syslog-ng" |
e4d7f272 ER |
98 | RETVAL=7 |
99 | return | |
a29e358d | 100 | fi |
e4d7f272 | 101 | |
cf338514 | 102 | checkconfig |
e4d7f272 ER |
103 | msg_reloading "syslog-ng" |
104 | killproc syslog-ng -HUP | |
105 | RETVAL=$? | |
a29e358d ER |
106 | } |
107 | ||
fe5f78cc | 108 | flush_logs() { |
e4d7f272 | 109 | if use_upstart && [ -f /etc/init/syslog-ng.conf ]; then |
c3d7f31f | 110 | /sbin/initctl reload syslog-ng |
6106f0b0 | 111 | elif [ -f /var/lock/subsys/syslog-ng ] || service syslog-ng status >/dev/null; then |
cf338514 | 112 | checkconfig |
de459a1a ER |
113 | msg_reloading "syslog-ng" |
114 | killproc syslog-ng -HUP | |
115 | RETVAL=$? | |
116 | else | |
117 | msg_not_running "syslog-ng" | |
e4d7f272 | 118 | RETVAL=7 |
de459a1a ER |
119 | fi |
120 | } | |
121 | ||
cf338514 | 122 | upstart_controlled --except checkconfig configtest flush-logs |
c3d7f31f | 123 | |
37c89292 ER |
124 | RETVAL=0 |
125 | # See how we were called. | |
126 | case "$1" in | |
127 | start) | |
f4f3a55b | 128 | configtest |
3aedaaf3 | 129 | start |
8438c275 | 130 | ;; |
37c89292 | 131 | stop) |
3aedaaf3 | 132 | stop |
8438c275 | 133 | ;; |
eeb0c076 | 134 | restart) |
752897ef | 135 | configtest |
94d56279 PG |
136 | stop |
137 | start | |
98e38ddd | 138 | ;; |
3aedaaf3 | 139 | try-restart) |
3aedaaf3 | 140 | condrestart 0 |
8438c275 | 141 | ;; |
1ce70fc9 | 142 | reload|force-reload) |
99e95bd0 | 143 | reload |
eeb0c076 | 144 | ;; |
37c89292 | 145 | flush-logs) |
99e95bd0 | 146 | flush_logs |
37c89292 | 147 | ;; |
cf338514 ER |
148 | checkconfig|configtest) |
149 | checkconfig 1 | |
3aedaaf3 | 150 | ;; |
37c89292 ER |
151 | status) |
152 | status syslog-ng | |
153 | exit $? | |
154 | ;; | |
8438c275 | 155 | *) |
cf338514 | 156 | msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status|checkconfig|flush-logs}" |
1ce70fc9 | 157 | exit 3 |
8438c275 | 158 | esac |
159 | ||
eeb0c076 | 160 | exit $RETVAL |