]> git.pld-linux.org Git - packages/exim.git/blame - exim.init
- rel 3
[packages/exim.git] / exim.init
CommitLineData
6a7ed0b9 1#!/bin/sh
2#
c0b03131 3# exim This shell script takes care of starting and stopping Exim.
6a7ed0b9 4#
c0b03131
JR
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
2b4493b8 10# pidfile: /var/spool/exim/exim-daemon.pid
9c228cad
AM
11
12# Source function library.
6a7ed0b9 13. /etc/rc.d/init.d/functions
14
9c228cad 15# Source networking configuration.
6a7ed0b9 16. /etc/sysconfig/network
17
0d9b945c
ER
18QUEUE=1h
19
c0b03131 20# Source exim configureation.
2afc326a 21if [ -f /etc/sysconfig/exim ]; then
9c228cad 22 . /etc/sysconfig/exim
6a7ed0b9 23fi
24
01e5d0f3 25# Check that networking is up.
f188b1d5 26if is_yes "${NETWORKING}"; then
d809ed84 27 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
0d9b945c 28 msg_network_down "Exim"
f188b1d5 29 exit 1
30 fi
31else
32 exit 0
c0b03131 33fi
01e5d0f3 34
81a167dc
AM
35checkconfig() {
36 local details=${1:-0} ret
37
38 RETVAL=0
39 if [ $details = 1 ]; then
40 for CONFIG in /etc/mail/exim.conf $EXIM_EXTRA_CONFIGS; do
41 run_cmd "Checking exim configuration ($CONFIG)" exim -bV -C $CONFIG
42 ret=$?
43 if [ $ret != 0 ]; then
44 RETVAL=$ret
45 fi
46 done
47 else
48 for CONFIG in /etc/mail/exim.conf $EXIM_EXTRA_CONFIGS; do
49 exim -bV -C $CONFIG > /dev/null 2>&1
50 ret=$?
51 if [ $ret != 0 ]; then
52 show "Checking %s configuration (%s)" "exim" "$CONFIG"; fail
53 RETVAL=$ret
54 fi
55 done
56 if [ $RETVAL != 0 ]; then
57 nls 'Configuration test failed. See details with %s "checkconfig"' $0
58 exit $RETVAL
59 fi
60 fi
61}
62
0d9b945c 63start() {
9c228cad 64 # Start daemons.
0d9b945c
ER
65 if [ -f /var/lock/subsys/exim ]; then
66 msg_already_running "Exim"
67 return
68 fi
69
70 msg_starting "Exim"
e55a592c 71 daemon /usr/bin/exim \
07e996cc 72 -oP /var/spool/exim/exim-daemon.pid \
0d9b945c
ER
73 $( is_yes "$ALLOW_TCP_CONNECTIONS" && echo -bd ) \
74 $( [ -n "$QUEUE" ] && echo -q$QUEUE )
75 for CONFIG in $EXIM_EXTRA_CONFIGS; do
76 msg_starting "Exim ($CONFIG)"
77 daemon exim \
78 $( is_yes "$ALLOW_TCP_CONNECTIONS" && echo -bd ) \
79 $( [ -n "$QUEUE" ] && echo -q$QUEUE ) \
80 -C $CONFIG
81 done
82 RETVAL=$?
83 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/exim
84}
85
86stop() {
87 # Stop daemons.
88 if [ ! -f /var/lock/subsys/exim ]; then
89 msg_not_running "Exim"
90 return
91 fi
92
93 msg_stopping "Exim"
94 killproc --pidfile /var/spool/exim/exim-daemon.pid exim
95 rm -f /var/lock/subsys/exim /var/spool/exim/exim-daemon.pid >/dev/null 2>&1
96}
97
51a9ded0
ER
98condrestart() {
99 if [ ! -f /var/lock/subsys/exim ]; then
100 msg_not_running "Exim"
101 RETVAL=$1
102 return
103 fi
104
81a167dc 105 checkconfig
51a9ded0
ER
106 stop
107 start
108}
109
0d9b945c 110reload() {
9e7b57a4 111 if [ ! -f /var/lock/subsys/exim ]; then
0d9b945c
ER
112 msg_not_running "Exim"
113 RETVAL=7
114 return
115 fi
116
81a167dc
AM
117 checkconfig
118 msg_reloading "Exim"
119 killproc exim -HUP
120 RETVAL=$?
0d9b945c
ER
121}
122
123RETVAL=0
124# See how we were called.
125case "$1" in
126 start)
127 start
6a7ed0b9 128 ;;
129 stop)
0d9b945c 130 stop
6a7ed0b9 131 ;;
9c228cad 132 restart)
81a167dc 133 checkconfig
0d9b945c
ER
134 stop
135 start
6a7ed0b9 136 ;;
51a9ded0
ER
137 try-restart)
138 condrestart 0
7f8aac0d 139 ;;
d1e99794 140 reload|force-reload)
0d9b945c
ER
141 reload
142 ;;
51a9ded0 143 checkconfig|configtest)
81a167dc 144 checkconfig 1
51a9ded0 145 ;;
0d9b945c
ER
146 status)
147 status exim
148 exit $?
ee785f0b 149 ;;
6a7ed0b9 150 *)
51a9ded0 151 msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|configtest|status}"
d1e99794 152 exit 3
6a7ed0b9 153esac
154
9e7b57a4 155exit $RETVAL
This page took 0.060026 seconds and 4 git commands to generate.