#!/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 QUEUE=1h # Source exim configureation. if [ -f /etc/sysconfig/exim ]; then . /etc/sysconfig/exim 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 start() { # Start daemons. if [ -f /var/lock/subsys/exim ]; then msg_already_running "Exim" return fi 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 } stop() { # Stop daemons. if [ ! -f /var/lock/subsys/exim ]; then msg_not_running "Exim" return fi 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 } condrestart() { if [ ! -f /var/lock/subsys/exim ]; then msg_not_running "Exim" RETVAL=$1 return fi stop start } reload() { if [ ! -f /var/lock/subsys/exim ]; then msg_not_running "Exim" RETVAL=7 return fi run_cmd "Checking exim configuration" exim -bV if [ $? -eq 0 ]; then msg_reloading "Exim" killproc exim -HUP RETVAL=$? fi } RETVAL=0 # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) stop start ;; try-restart) condrestart 0 ;; reload|force-reload) reload ;; checkconfig|configtest) exim -bV RETVAL=$? ;; status) status exim exit $? ;; *) msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|configtest|status}" exit 3 esac exit $RETVAL