]>
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 |
33d61325 | 110 | checkconfig |
c3d7f31f | 111 | /sbin/initctl reload syslog-ng |
33d61325 ER |
112 | elif [ -x /bin/systemd_booted ] && /bin/systemd_booted; then |
113 | checkconfig | |
114 | msg_reloading "syslog-ng" | |
115 | /bin/systemctl reload syslog-ng.service | |
116 | RETVAL=$? | |
117 | [ $RETVAL -eq 0 ] && ok || fail | |
118 | elif [ -f /var/lock/subsys/syslog-ng ]; then | |
cf338514 | 119 | checkconfig |
de459a1a ER |
120 | msg_reloading "syslog-ng" |
121 | killproc syslog-ng -HUP | |
122 | RETVAL=$? | |
123 | else | |
124 | msg_not_running "syslog-ng" | |
e4d7f272 | 125 | RETVAL=7 |
de459a1a ER |
126 | fi |
127 | } | |
128 | ||
cf338514 | 129 | upstart_controlled --except checkconfig configtest flush-logs |
c3d7f31f | 130 | |
37c89292 ER |
131 | RETVAL=0 |
132 | # See how we were called. | |
133 | case "$1" in | |
134 | start) | |
f4f3a55b | 135 | configtest |
3aedaaf3 | 136 | start |
8438c275 | 137 | ;; |
37c89292 | 138 | stop) |
3aedaaf3 | 139 | stop |
8438c275 | 140 | ;; |
eeb0c076 | 141 | restart) |
752897ef | 142 | configtest |
94d56279 PG |
143 | stop |
144 | start | |
98e38ddd | 145 | ;; |
3aedaaf3 | 146 | try-restart) |
3aedaaf3 | 147 | condrestart 0 |
8438c275 | 148 | ;; |
1ce70fc9 | 149 | reload|force-reload) |
99e95bd0 | 150 | reload |
eeb0c076 | 151 | ;; |
37c89292 | 152 | flush-logs) |
99e95bd0 | 153 | flush_logs |
37c89292 | 154 | ;; |
cf338514 ER |
155 | checkconfig|configtest) |
156 | checkconfig 1 | |
3aedaaf3 | 157 | ;; |
37c89292 ER |
158 | status) |
159 | status syslog-ng | |
160 | exit $? | |
161 | ;; | |
8438c275 | 162 | *) |
cf338514 | 163 | msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status|checkconfig|flush-logs}" |
1ce70fc9 | 164 | exit 3 |
8438c275 | 165 | esac |
166 | ||
eeb0c076 | 167 | exit $RETVAL |