#!/bin/sh PATH=${PATH}:/var/qmail/bin:/usr/local/bin:/bin:/usr/bin QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" export QMAILQUEUE #------------------------# # init # #------------------------# poppname='110' #POP3 PortNo nofiles_gid='123' # group:nofiles of gid qmaild_uid='123' # user:qmaild od uid mailsrvname='mail.hogehoge.com' #sever FQDN echo "===== try ${0##*/} =====" if [ $# != 1 ];then echo "$0 [start|stop|restart]" exit 1 fi cmd=$1 case "${cmd}" in start) echo -e "qmail start\t\c" if [ -x /var/qmail/rc ];then /var/qmail/rc & if [ $? = 0 ];then echo "[ OK ]" else echo "[ NG ]" fi fi if [ -x /usr/local/bin/tcpserver ];then # SMTP echo -e "tcpserver smtp start\t\c" /usr/local/bin/envdir /etc/relay-ctrl /usr/local/bin/relay-ctrl-chdir \ /usr/local/bin/tcpserver -vHR -u ${qmaild_uid} -g ${nofiles_gid} 0 \ smtp /usr/local/bin/relay-ctrl-check \ /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd & if [ $? = 0 ];then echo "[ OK ]" else echo "[ NG ]" fi # POP3 (Relay Ctrl) echo -e "tcpserver pop(Relay Ctrl) start\t\c" /usr/local/bin/envdir /etc/relay-ctrl /usr/local/bin/relay-ctrl-chdir \ /usr/local/bin/tcpserver -vRH 0 ${poppname} \ /var/qmail/bin/qmail-popup ${mailsrvname} \ /bin/selectcheckpw /usr/local/bin/relay-ctrl-allow \ /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d & if [ $? = 0 ];then echo "[ OK ]" else echo "[ NG ]" fi fi ;; stop) # qmail STOP echo -e "qmail stop\t\c" pidno=`ps auxwwww | grep "qmail-send" | grep -v "grep" | awk '{print $2}'` if [ ! -z ${pidno} ];then kill -9 ${pidno} if [ $? = 0 ];then echo "[ OK ]" else echo "[ NG ]" fi fi pidno="" # tcpserver SMTP STOP echo -e "tcpserver smtp stop\t\c" pidno=`ps auxwwwww | grep "tcpserver" | grep "smtp" | grep -v "grep" | awk '{print $2}'` if [ ! -z ${pidno} ];then kill -9 ${pidno} if [ $? = 0 ];then echo "[ OK ]" else echo "[ NG ]" fi fi # tcpserver POP3 STOP echo -e "tcpserver pop3 stop\t\c" pidno=`ps axuwwwww | grep "tcpserver" | grep " ${poppname} " | grep "relay-ctrl" | grep -v "grep" | awk '{print $2}'` if [ ! -z ${pidno} ];then kill -9 ${pidno} if [ $? = 0 ];then echo "[ OK ]" else echo "[ NG ]" fi fi ;; restart) sh $0 stop sh $0 start ;; status) echo -e "qmail ( pid\c" pidnolst=`ps auxwwww | grep "qmail-send" | grep -v "grep" | awk '{print $2}'` if [ ! -z ${pidnolst} ];then for pidno in ${pidnolst} do echo -e " ${pidno}\c" done fi echo " )" echo -e "tcpserver smtp ( pid\c" pidnolst=`ps auxwwwww | grep "tcpserver" | grep "smtp" | grep -v "grep" | awk '{print $2}'` if [ ! -z ${pidnolst} ];then for pidno in ${pidnolst} do echo -e " ${pidno}\c" done fi echo " )" echo -e "tcpserver pop3 ( pid\c" pidnolst=`ps axuwwwww | grep "tcpserver" | grep " ${poppname} " | grep "relay-ctrl" | grep -v "grep" | awk '{print $2}'` if [ ! -z ${pidnolst} ];then for pidno in ${pidnolst} do echo -e " ${pidno}\c" done fi echo " )" ;; *) echo "$0 [start|stop|restart]" exit 1 esac echo "===== end ${0##*/} ====="