2.5. qmail ½Ãµ¿ ÆÄÀÏ

·¹µåÇò °è¿­ÀÇ ¹èÆ÷º»¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â qmail µ¥¸óÀÇ ºÎÆ® ½ºÅ©¸³Æ®ÀÌ´Ù.

#!/bin/sh

# For Red Hat chkconfig
# chkconfig: - 80 30
# description: the qmail MTA

PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin
export PATH

case "$1" in
  start)
    echo "Starting qmail"
	 if [ -e /service/qmail-send ] ; then
	 	if svok /service/qmail-send ; then
			svc -u /service/qmail-send
		else
			echo qmail-send supervise not running
		fi
	 else
	 	ln -s /var/qmail/supervise/qmail-send /service/
	 fi

	 if [ -e /service/qmail-smtpd ] ; then
	 	if svok /service/qmail-smtpd ; then
			svc -u /service/qmail-smtpd
		else
			echo qmail-smtpd supervise not running
		fi
	 else
	 	ln -s /var/qmail/supervise/qmail-smtpd /service/
	 fi
	 
    if [ -d /var/lock/subsys ]; then
      touch /var/lock/subsys/qmail
    fi
    ;;
  stop)
    echo "Stopping qmail..."
    echo "  qmail-smtpd"
    svc -dx /service/qmail-smtpd /service/qmail-smtpd/log
	 rm -f /service/qmail-smtpd
    echo "  qmail-send"
    svc -dx /service/qmail-send /service/qmail-send/log
	 rm -f /service/qmail-send
    if [ -f /var/lock/subsys/qmail ]; then
      rm /var/lock/subsys/qmail
    fi
    ;;
  stat)
    svstat /service/qmail-send
    svstat /service/qmail-send/log
    svstat /service/qmail-smtpd
    svstat /service/qmail-smtpd/log
    qmail-qstat
    ;;
  doqueue|alrm|flush)
    echo "Flushing timeout table and sending ALRM signal to qmail-send."
    /var/qmail/bin/qmail-tcpok
    svc -a /service/qmail-send
    ;;
  queue)
    qmail-qstat
    qmail-qread
    ;;
  reload|hup)
    echo "Sending HUP signal to qmail-send."
    svc -h /service/qmail-send
    ;;
  pause)
    echo "Pausing qmail-send"
    svc -p /service/qmail-send
    echo "Pausing qmail-smtpd"
    svc -p /service/qmail-smtpd
    ;;
  cont)
    echo "Continuing qmail-send"
    svc -c /service/qmail-send
    echo "Continuing qmail-smtpd"
    svc -c /service/qmail-smtpd
    ;;
  restart)
    echo "Restarting qmail:"
    echo "* Stopping qmail-smtpd."
    svc -d /service/qmail-smtpd
    echo "* Sending qmail-send SIGTERM and restarting."
    svc -t /service/qmail-send
    echo "* Restarting qmail-smtpd."
    svc -u /service/qmail-smtpd
    ;;
  cdb)
    tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
    chmod 644 /etc/tcp.smtp.cdb
    echo "Reloaded /etc/tcp.smtp."
    ;;
  help)
    cat <<HELP
   stop -- stops mail service (smtp connections refused, nothing goes out)
  start -- starts mail service (smtp connection accepted, mail can go out)
  pause -- temporarily stops mail service (connections accepted, nothing leaves)
   cont -- continues paused mail service
   stat -- displays status of mail service
    cdb -- rebuild the tcpserver cdb file for smtp
restart -- stops and restarts smtp, sends qmail-send a TERM & restarts it
doqueue -- schedules queued messages for immediate delivery
 reload -- sends qmail-send HUP, rereading locals and virtualdomains
  queue -- shows status of queue
   alrm -- same as doqueue
  flush -- same as doqueue
    hup -- same as reload
HELP
    ;;
  *)
    echo "Usage: $0 {start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help}"
    exit 1
    ;;
esac

exit 0

À§ÀÇ °ÍÀ» ±×´ë·Î º¹»ç,ÀúÀå Çϰųª À̰÷¿¡¼­ ¹ÞÀ»¼ö ÀÖ´Ù. À̰ÍÀ» /etc/rc.d/init.d/ ¿¡ qmail À̶ó´Â À̸§À¸·Î ÀúÀå ÇÑ ÈÄ ½ÇÇà ÆÛ¹Ì¼ÇÀ» ÁØ´Ù. ´ÙÀ½ ntsysv ½ÇÇà½Ã۸é qmail À̶ó´Â »õ·Î¿î Ç׸ñÀÌ º¸ÀϰÍÀÌ´Ù. ¸®ºÎÆÃ ÇÒ¶§ qmail µ¥¸óÀÌ ½ÇÇàµÇµµ·Ï Ã¼Å©ÇØÁØ´Ù.