IT/Mail

[Qmail] Qmail Server 구축하기 #4 - qmail 부트 스크립트

순수나꾸 2007. 9. 10. 14:35
큐메일 부트 스크립트 입니다. 아래 내용을 그대로 긁어서 사용하시면 됩니다.
혹은 http://pkg.tini4u.net/mta/qmail/ 에서 받으실 수 있습니다.
  [root@localhost]# wget http://pkg.tini4u.net/mta/qmail/src/qmail_init.tar.gz
[root@localhost]# tar xfpz qmail_init.tar.gz
[root@localhost]# mv qmail /etc/rc.d/init.d/qmail
[root@localhost]# chkconfig --add qmail
[root@localhost]# chkconfig --level 345 qmail on
 

 

* chkconfig 실행이 되지 않을 경우 path의 경로가 등록되어 있지 않은 경우이다.

  /sbin 폴더안에 있으므로 다음과 같이 하면 됩니다.

 

  /sbin/chkconfig ~~~

 

     1. #!/bin/sh
   2.
   3. # For Red Hat chkconfig
   4. # chkconfig: - 80 30
   5. # description: the qmail MTA
   6.
   7. PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin
   8. export PATH
   9.
  10. case "$1" in
  11. start)
  12.     echo "Starting qmail"
  13.      if [ -e /service/qmail-send ] ; then
  14.          if svok /service/qmail-send ; then
  15.             svc -u /service/qmail-send
  16.         else
  17.             echo qmail-send supervise not running
  18.         fi
  19.      else
  20.          ln -s /var/qmail/supervise/qmail-send /service/
  21.      fi
  22.
  23.      if [ -e /service/qmail-smtpd ] ; then
  24.          if svok /service/qmail-smtpd ; then
  25.             svc -u /service/qmail-smtpd
  26.         else
  27.             echo qmail-smtpd supervise not running
  28.         fi
  29.      else
  30.          ln -s /var/qmail/supervise/qmail-smtpd /service/
  31.      fi
  32.    
  33.     if [ -d /var/lock/subsys ]; then
  34.      touch /var/lock/subsys/qmail
  35.     fi
  36.     ;;
  37. stop)
  38.     echo "Stopping qmail..."
  39.     echo " qmail-smtpd"
  40.     svc -dx /service/qmail-smtpd /service/qmail-smtpd/log
  41.      rm -f /service/qmail-smtpd
  42.     echo " qmail-send"
  43.     svc -dx /service/qmail-send /service/qmail-send/log
  44.      rm -f /service/qmail-send
  45.     if [ -f /var/lock/subsys/qmail ]; then
  46.      rm /var/lock/subsys/qmail
  47.     fi
  48.     ;;
  49. stat)
  50.     svstat /service/qmail-send
  51.     svstat /service/qmail-send/log
  52.     svstat /service/qmail-smtpd
  53.     svstat /service/qmail-smtpd/log
  54.     qmail-qstat
  55.     ;;
  56. doqueue|alrm|flush)
  57.     echo "Flushing timeout table and sending ALRM signal to qmail-send."
  58.     /var/qmail/bin/qmail-tcpok
  59.     svc -a /service/qmail-send
  60.     ;;
  61. queue)
  62.     qmail-qstat
  63.     qmail-qread
  64.     ;;
  65. reload|hup)
  66.     echo "Sending HUP signal to qmail-send."
  67.     svc -h /service/qmail-send
  68.     ;;
  69. pause)
  70.     echo "Pausing qmail-send"
  71.     svc -p /service/qmail-send
  72.     echo "Pausing qmail-smtpd"
  73.     svc -p /service/qmail-smtpd
  74.     ;;
  75. cont)
  76.     echo "Continuing qmail-send"
  77.     svc -c /service/qmail-send
  78.     echo "Continuing qmail-smtpd"
  79.     svc -c /service/qmail-smtpd
  80.     ;;
  81. restart)
  82.     echo "Restarting qmail:"
  83.     echo "* Stopping qmail-smtpd."
  84.     svc -d /service/qmail-smtpd
  85.     echo "* Sending qmail-send SIGTERM and restarting."
  86.     svc -t /service/qmail-send
  87.     echo "* Restarting qmail-smtpd."
  88.     svc -u /service/qmail-smtpd
  89.     ;;
  90. cdb)
  91.     tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
  92.     chmod 644 /etc/tcp.smtp.cdb
  93.     echo "Reloaded /etc/tcp.smtp."
  94.     ;;
  95. help)
  96.     cat <   97. stop -- stops mail service (smtp connections refused, nothing goes out)
  98. start -- starts mail service (smtp connection accepted, mail can go out)
  99. pause -- temporarily stops mail service (connections accepted, nothing leaves)
100. cont -- continues paused mail service
101. stat -- displays status of mail service
102.     cdb -- rebuild the tcpserver cdb file for smtp
103. restart -- stops and restarts smtp, sends qmail-send a TERM & restarts it
104. doqueue -- schedules queued messages for immediate delivery
105. reload -- sends qmail-send HUP, rereading locals and virtualdomains
106. queue -- shows status of queue
107. alrm -- same as doqueue
108. flush -- same as doqueue
109.     hup -- same as reload
110. HELP
111.     ;;
112. *)
113.     echo "Usage: $0 {start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help}"
114.     exit 1
115.     ;;
116. esac
117.
118. exit 0