#!/sbin/runscript # Copyright 2010-2011 Mir Calculate. # Distributed under the terms of the GNU General Public License v2 # $Header: $ depend() { need net } start() { ebegin "Starting sort-milter" MILTERPORT=${MILTERPORT:-2525} STORAGEDIR=${STORAGEDIR:-/var/calculate/mailbox} DOMAIN="--domain $(echo ${DOMAIN:-maildomain.ru} | sed s'/,/ --domain /')" ERRORDIR=${ERRORDIR:-/var/calculate/mailbox/errors} LOGFILE=${LOGFILE:-/var/log/sortmilter.log} PIDFILE=${PIDFILE:-/var/run/sortmilter.pid} SORTMILTER=${SORTMILTER:-/usr/bin/sortmilter} OPTS="${OPTS} --storage-dir=${STORAGEDIR} ${DOMAIN} \ --milter-port=${MILTERPORT} --error-dir ${ERRORDIR} \ --log ${LOGFILE}" PSMILTER="sortmilter.*--milter-port=${MILTERPORT}" if pgrep -f ${PSMILTER} &>/dev/null then eerror "sort-milter already started at PID "$(pgrep -f ${PSMILTER}) eend 1 else eval start-stop-daemon -b --start --pidfile ${PIDFILE} --exec ${SORTMILTER} -- "${OPTS}" for waitsec in 1 2 4 do pgrep -f ${PSMILTER} &>/dev/null && break sleep ${waitsec} done if pgrep -f ${PSMILTER} &>/dev/null then echo $(pgrep -f ${PSMILTER}) >${PIDFILE} eend 0 else eend 1 fi fi } stop() { ebegin "Stopping sort-milter" MILTERPORT=${MILTERPORT:-2525} PSMILTER="sortmilter.*--milter-port=${MILTERPORT}" PIDFILE=${PIDFILE:-/var/run/sortmilter.pid} start-stop-daemon --stop --signal 2 --quiet --pidfile ${PIDFILE} for waitsec in 1 2 4 6 8 do pgrep -f ${PSMILTER} &>/dev/null || break sleep ${waitsec} echo -en "." done eend 0 }