#!/bin/sh # # exim This shell script takes care of starting and stopping Exim. # # chkconfig: 2345 80 30 # description: Exim is a Mail Transport Agent, which is the program \ # that moves mail from one machine to another. # processname: exim # config: /etc/exim.cf # pidfile: /var/spool/exim/exim-daemon.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Source exim configureation. if [ -f /etc/sysconfig/exim ]; then . /etc/sysconfig/exim else QUEUE=1h fi # Check that networking is up. if is_yes "${NETWORKING}"; then if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then msg_network_down Exim exit 1 fi else exit 0 fi RETVAL=0 # See how we were called. case "$1" in start) # Start daemons. if [ ! -f /var/lock/subsys/exim ]; then msg_starting Exim daemon exim \ $( is_yes "$ALLOW_TCP_CONNECTIONS" && echo -bd ) \ $( [ -n "$QUEUE" ] && echo -q$QUEUE ) for CONFIG in $EXIM_EXTRA_CONFIGS; do msg_starting "Exim ($CONFIG)" daemon exim \ $( is_yes "$ALLOW_TCP_CONNECTIONS" && echo -bd ) \ $( [ -n "$QUEUE" ] && echo -q$QUEUE ) \ -C $CONFIG done RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/exim else msg_already_running Exim fi ;; stop) # Stop daemons. if [ -f /var/lock/subsys/exim ]; then msg_stopping Exim killproc --pidfile /var/spool/exim/exim-daemon.pid exim rm -f /var/lock/subsys/exim /var/spool/exim/exim-daemon.pid >/dev/null 2>&1 else msg_not_running Exim fi ;; restart) $0 stop $0 start exit $? ;; status) status exim exit $? ;; configtest) exim -bV || exit $? ;; reload|force-reload) if [ -f /var/lock/subsys/exim ]; then run_cmd "Checking exim configuration" exim -bV if [ $? -eq 0 ]; then msg_reloading Exim killproc exim -HUP RETVAL=$? fi else msg_not_running Exim exit 7 fi ;; *) msg_usage "$0 {start|stop|restart|reload|force-reload|configtest|status}" exit 3 esac exit $RETVAL