]> git.pld-linux.org Git - packages/syslog-ng.git/blob - syslog-ng.init
- start after nfsfs
[packages/syslog-ng.git] / syslog-ng.init
1 #!/bin/sh
2 #
3 # syslog        Starts syslog-ng (syslogd replacement).
4 #
5 # chkconfig:    2345 17 83
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
13 # Set defaults
14 ENABLE_RECEIVE_FROM_NET=no
15 HOSTLIST=""
16 DOMAINLIST=""
17 MARK_TIMESTAMP=""
18
19 # Get service config
20 if [ -f /etc/sysconfig/syslog-ng ]; then
21         . /etc/sysconfig/syslog-ng
22 fi
23
24 # configtest itself
25 # must return non-zero if check failed
26 # output is discarded if checkconfig is ran without details
27 configtest() {
28         syslog-ng $OPTIONS -F -s -p /var/run/syslog-ng-syntaxcheck.pid
29         return $?
30 }
31
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
58         fi
59 }
60
61 start() {
62         # Check if the service is already running?
63         if [ -f /var/lock/subsys/syslog-ng ]; then
64                 msg_already_running "syslog-ng"
65                 return
66         fi
67
68         msg_starting "syslog-ng"
69         emit starting JOB=syslog-ng SERVICE=syslog
70         daemon /usr/sbin/syslog-ng -f /etc/syslog-ng/syslog-ng.conf $OPTIONS
71         emit --no-wait started JOB=syslog-ng SERVICE=syslog
72         RETVAL=$?
73         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/syslog-ng
74 }
75
76 stop() {
77         if [ ! -f /var/lock/subsys/syslog-ng ]; then
78                 msg_not_running "syslog-ng"
79                 return
80         fi
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
87 }
88
89 condrestart() {
90         if [ ! -f /var/lock/subsys/syslog-ng ]; then
91                 msg_not_running "syslog-ng"
92                 RETVAL=$1
93                 return
94         fi
95
96         checkconfig
97         stop
98         start
99 }
100
101 reload() {
102         if [ ! -f /var/lock/subsys/syslog-ng ]; then
103                 msg_not_running "syslog-ng"
104                 RETVAL=7
105                 return
106         fi
107
108         checkconfig
109         msg_reloading "syslog-ng"
110         killproc syslog-ng -HUP
111         RETVAL=$?
112 }
113
114 flush_logs() {
115         if use_upstart && [ -f /etc/init/syslog-ng.conf ]; then
116                 /sbin/initctl reload syslog-ng
117         elif [ -f /var/lock/subsys/syslog-ng ]; then
118                 checkconfig
119                 msg_reloading "syslog-ng"
120                 killproc syslog-ng -HUP
121                 RETVAL=$?
122         else
123                 msg_not_running "syslog-ng"
124                 RETVAL=7
125         fi
126 }
127
128 upstart_controlled --except checkconfig configtest flush-logs
129
130 RETVAL=0
131 # See how we were called.
132 case "$1" in
133   start)
134         configtest
135         start
136         ;;
137   stop)
138         stop
139         ;;
140   restart)
141         configtest
142         stop
143         start
144         ;;
145   try-restart)
146         condrestart 0
147         ;;
148   reload|force-reload)
149         reload
150         ;;
151   flush-logs)
152         flush_logs
153         ;;
154   checkconfig|configtest)
155         checkconfig 1
156         ;;
157   status)
158         status syslog-ng
159         exit $?
160         ;;
161   *)
162         msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status|checkconfig|flush-logs}"
163         exit 3
164 esac
165
166 exit $RETVAL
This page took 0.036326 seconds and 3 git commands to generate.