]> git.pld-linux.org Git - packages/exim.git/blob - exim.init
- rel 3; run tidydb daily (not weekly) because on some systems databases grow too...
[packages/exim.git] / exim.init
1 #!/bin/sh
2 #
3 # exim          This shell script takes care of starting and stopping Exim.
4 #
5 # chkconfig:    2345 80 30
6 # description:  Exim is a Mail Transport Agent, which is the program \
7 #               that moves mail from one machine to another.
8 # processname:  exim
9 # config:       /etc/exim.cf
10 # pidfile:      /var/spool/exim/exim-daemon.pid
11
12 # Source function library.
13 . /etc/rc.d/init.d/functions
14
15 # Source networking configuration.
16 . /etc/sysconfig/network
17
18 QUEUE=1h
19
20 # Source exim configureation.
21 if [ -f /etc/sysconfig/exim ]; then
22         . /etc/sysconfig/exim
23 fi
24
25 # Check that networking is up.
26 if is_yes "${NETWORKING}"; then
27         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
28                 msg_network_down "Exim"
29                 exit 1
30         fi
31 else
32         exit 0
33 fi
34
35 start() {
36         # Start daemons.
37         if [ -f /var/lock/subsys/exim ]; then
38                 msg_already_running "Exim"
39                 return
40         fi
41
42         msg_starting "Exim"
43         daemon exim \
44                 $( is_yes "$ALLOW_TCP_CONNECTIONS" && echo -bd ) \
45                 $( [ -n "$QUEUE" ] && echo -q$QUEUE )
46         for CONFIG in $EXIM_EXTRA_CONFIGS; do
47                         msg_starting "Exim ($CONFIG)"
48                         daemon exim \
49                                 $( is_yes "$ALLOW_TCP_CONNECTIONS" && echo -bd ) \
50                                 $( [ -n "$QUEUE" ] && echo -q$QUEUE ) \
51                                 -C $CONFIG
52         done
53         RETVAL=$?
54         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/exim
55 }
56
57 stop() {
58         # Stop daemons.
59         if [ ! -f /var/lock/subsys/exim ]; then
60                 msg_not_running "Exim"
61                 return
62         fi
63
64         msg_stopping "Exim"
65         killproc --pidfile /var/spool/exim/exim-daemon.pid exim
66         rm -f /var/lock/subsys/exim /var/spool/exim/exim-daemon.pid >/dev/null 2>&1
67 }
68
69 condrestart() {
70         if [ ! -f /var/lock/subsys/exim ]; then
71                 msg_not_running "Exim"
72                 RETVAL=$1
73                 return
74         fi
75
76         stop
77         start
78 }
79
80 reload() {
81         if [ ! -f /var/lock/subsys/exim ]; then
82                 msg_not_running "Exim"
83                 RETVAL=7
84                 return
85         fi
86
87         run_cmd "Checking exim configuration" exim -bV
88         if [ $? -eq 0 ]; then
89                 msg_reloading "Exim"
90                 killproc exim -HUP
91                 RETVAL=$?
92         fi
93 }
94
95 RETVAL=0
96 # See how we were called.
97 case "$1" in
98   start)
99         start
100         ;;
101   stop)
102         stop
103         ;;
104   restart)
105         stop
106         start
107         ;;
108   try-restart)
109         condrestart 0
110         ;;
111   reload|force-reload)
112         reload
113         ;;
114   checkconfig|configtest)
115         exim -bV
116         RETVAL=$?
117         ;;
118   status)
119         status exim
120         exit $?
121         ;;
122   *)
123         msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|configtest|status}"
124         exit 3
125 esac
126
127 exit $RETVAL
This page took 0.033452 seconds and 3 git commands to generate.