#!/bin/sh # # zmailer This shell script takes care of starting and stopping # ZMailer. # # chkconfig: 2345 80 30 # description: ZMailer is a Mail Transport Agent, which is the program \ # that moves mail from one machine to another. # processname: router scheduler smtpserver # config: /etc/zmailer/zmailer.conf # pidfile: /var/spool/postoffice/.pid.scheduler .pid.smtpserver .pid.router CONFIGFILE=/app/zmailer/zmailer.conf # Source function library. if [ -f /etc/rc.d/init.d/functions ] ; then . /etc/rc.d/init.d/functions elif [ -f /etc/init.d/functions ] ; then . /etc/init.d/functions else exit 1 fi # Source networking configuration. if [ -f /etc/sysconfig/network ] ; then . /etc/sysconfig/network else exit 1 fi # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 # Source zmailer configuration. if [ -f $CONFIGFILE ] ; then . $CONFIGFILE else exit 1 fi [ -f $MAILBIN/zmailer ] || exit 1 RETVAL=0 start() { # Start daemons. if ( status scheduler || status router || status smtpserver ) | grep -v stop > /dev/null ; then echo "ZMailer is running yet" else if [ "${SMTPSERVER}" ]; then $MAILBIN/zmailer smtp elif [ ${MAILSERVER-NONE} = NONE -a -x $MAILBIN/zmailer ]; then $MAILBIN/zmailer bootclean $MAILBIN/zmailer fi RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/zmailer return $RETVAL fi } stop() { # Stop daemons. if ( status scheduler || status router || status smtpserver ) | grep stop > /dev/null ; then echo "ZMailer is not running" else if [ ${MAILSERVER-NONE} = NONE -a -x $MAILBIN/zmailer ]; then $MAILBIN/zmailer kill fi RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/zmailer $POSTOFFICE/.pid.* $POSTOFFICE/.pid.smtpserver/* 2>/dev/null return $RETVAL fi } # See how we were called. case "$1" in start) start ;; stop) stop ;; restart|reload) stop echo waiting... sleep 2 start RETVAL=$? ;; status) status router status scheduler status smtpserver RETVAL=$? ;; logsync) $MAILBIN/zmailer logsync ;; *) echo "Usage: $0 {start|stop|restart|reload|status|logsync}" exit 1 ;; esac exit $RETVAL