]> git.pld-linux.org Git - packages/syslog-ng.git/blob - syslog-ng.init
- added types patch (fix guint64 vs gsize confusion in secure-logging module); release 2
[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 # Get service config
14 if [ -f /etc/sysconfig/syslog-ng ]; then
15         . /etc/sysconfig/syslog-ng
16 fi
17
18 # configtest itself
19 # must return non-zero if check failed
20 # output is discarded if checkconfig is ran without details
21 configtest() {
22         syslog-ng $OPTIONS -F -s -p /var/run/syslog-ng-syntaxcheck.pid
23         return $?
24 }
25
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
52         fi
53 }
54
55 start() {
56         # Check if the service is already running?
57         if [ -f /var/lock/subsys/syslog-ng ]; then
58                 msg_already_running "syslog-ng"
59                 return
60         fi
61
62         msg_starting "syslog-ng"
63         daemon @@SBINDIR@@/syslog-ng -f /etc/syslog-ng/syslog-ng.conf --worker-threads=1024 $OPTIONS
64         RETVAL=$?
65         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/syslog-ng
66 }
67
68 stop() {
69         if [ ! -f /var/lock/subsys/syslog-ng ]; then
70                 msg_not_running "syslog-ng"
71                 return
72         fi
73
74         msg_stopping "syslog-ng"
75         killproc syslog-ng
76         rm -f /var/lock/subsys/syslog-ng >/dev/null 2>&1
77 }
78
79 condrestart() {
80         if [ ! -f /var/lock/subsys/syslog-ng ]; then
81                 msg_not_running "syslog-ng"
82                 RETVAL=$1
83                 return
84         fi
85
86         checkconfig
87         stop
88         start
89 }
90
91 reload() {
92         if [ ! -f /var/lock/subsys/syslog-ng ]; then
93                 msg_not_running "syslog-ng"
94                 RETVAL=7
95                 return
96         fi
97
98         checkconfig
99         msg_reloading "syslog-ng"
100         killproc syslog-ng -HUP
101         RETVAL=$?
102 }
103
104 flush_logs() {
105         if [ -x /bin/systemd_booted ] && /bin/systemd_booted; then
106                 checkconfig
107                 msg_reloading "syslog-ng"
108                 /bin/systemctl reload syslog-ng.service
109                 RETVAL=$?
110                 [ $RETVAL -eq 0 ] && ok || fail
111         elif [ -f /var/lock/subsys/syslog-ng ]; then
112                 checkconfig
113                 msg_reloading "syslog-ng"
114                 killproc syslog-ng -HUP
115                 RETVAL=$?
116         else
117                 msg_not_running "syslog-ng"
118                 RETVAL=7
119         fi
120 }
121
122 RETVAL=0
123 # See how we were called.
124 case "$1" in
125   start)
126         configtest
127         start
128         ;;
129   stop)
130         stop
131         ;;
132   restart)
133         configtest
134         stop
135         start
136         ;;
137   try-restart)
138         condrestart 0
139         ;;
140   reload|force-reload)
141         reload
142         ;;
143   flush-logs)
144         flush_logs
145         ;;
146   checkconfig|configtest)
147         checkconfig 1
148         ;;
149   status)
150         status syslog-ng
151         exit $?
152         ;;
153   *)
154         msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status|checkconfig|flush-logs}"
155         exit 3
156 esac
157
158 exit $RETVAL
This page took 0.046049 seconds and 3 git commands to generate.