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