]>
Commit | Line | Data |
---|---|---|
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 |
18 | QUEUE=1h |
19 | ||
c0b03131 | 20 | # Source exim configureation. |
2afc326a | 21 | if [ -f /etc/sysconfig/exim ]; then |
9c228cad | 22 | . /etc/sysconfig/exim |
6a7ed0b9 | 23 | fi |
24 | ||
01e5d0f3 | 25 | # Check that networking is up. |
f188b1d5 | 26 | if 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 | |
31 | else | |
32 | exit 0 | |
c0b03131 | 33 | fi |
01e5d0f3 | 34 | |
0d9b945c | 35 | start() { |
9c228cad | 36 | # Start daemons. |
0d9b945c ER |
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 | ||
51a9ded0 ER |
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 | ||
0d9b945c | 80 | reload() { |
9e7b57a4 | 81 | if [ ! -f /var/lock/subsys/exim ]; then |
0d9b945c ER |
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 | |
9e7b57a4 | 91 | RETVAL=$? |
9e7b57a4 | 92 | fi |
0d9b945c ER |
93 | } |
94 | ||
95 | RETVAL=0 | |
96 | # See how we were called. | |
97 | case "$1" in | |
98 | start) | |
99 | start | |
6a7ed0b9 | 100 | ;; |
101 | stop) | |
0d9b945c | 102 | stop |
6a7ed0b9 | 103 | ;; |
9c228cad | 104 | restart) |
0d9b945c ER |
105 | stop |
106 | start | |
6a7ed0b9 | 107 | ;; |
51a9ded0 ER |
108 | try-restart) |
109 | condrestart 0 | |
7f8aac0d | 110 | ;; |
d1e99794 | 111 | reload|force-reload) |
0d9b945c ER |
112 | reload |
113 | ;; | |
51a9ded0 ER |
114 | checkconfig|configtest) |
115 | exim -bV | |
116 | RETVAL=$? | |
117 | ;; | |
0d9b945c ER |
118 | status) |
119 | status exim | |
120 | exit $? | |
ee785f0b | 121 | ;; |
6a7ed0b9 | 122 | *) |
51a9ded0 | 123 | msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|configtest|status}" |
d1e99794 | 124 | exit 3 |
6a7ed0b9 | 125 | esac |
126 | ||
9e7b57a4 | 127 | exit $RETVAL |