]> git.pld-linux.org Git - packages/syslog-ng.git/blame - syslog-ng.init
- use threading by default
[packages/syslog-ng.git] / syslog-ng.init
CommitLineData
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 14if [ -f /etc/sysconfig/syslog-ng ]; then
ce032b45 15 . /etc/sysconfig/syslog-ng
8438c275 16fi
17
cf338514
ER
18# configtest itself
19# must return non-zero if check failed
20# output is discarded if checkconfig is ran without details
21configtest() {
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
27checkconfig() {
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 55start() {
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
544d8db5 64 daemon @@SBINDIR@@/syslog-ng -f /etc/syslog-ng/syslog-ng.conf $OPTIONS
528e8fc2 65 emit --no-wait started JOB=syslog-ng SERVICE_syslog=y
e4d7f272
ER
66 RETVAL=$?
67 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/syslog-ng
37c89292
ER
68}
69
70stop() {
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 83condrestart() {
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 95reload() {
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 108flush_logs() {
e4d7f272 109 if use_upstart && [ -f /etc/init/syslog-ng.conf ]; then
c3d7f31f
JK
110 /sbin/initctl reload syslog-ng
111 elif [ -f /var/lock/subsys/syslog-ng ]; 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 122upstart_controlled --except checkconfig configtest flush-logs
c3d7f31f 123
37c89292
ER
124RETVAL=0
125# See how we were called.
126case "$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)
a29e358d 143 reload
eeb0c076 144 ;;
37c89292 145 flush-logs)
fe5f78cc 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 158esac
159
eeb0c076 160exit $RETVAL
This page took 2.568584 seconds and 4 git commands to generate.