#! /bin/sh
#
#   clear-greylist.sh -- Postfixのgreylist.dbを空にする
#
#	0.0: Mar. 25, 2007 by Dai ISHIJIMA
#

postfixdir=/usr/local/postfix
postfix=$postfixdir/sbin/postfix
greylistdir=/var/mta
greylist=$greylistdir/greylist.db
greyold=$greylist.0.gz
greyoldest=$greylist.9.gz
greyowner=nobody
greygroup=nobody
logdir=/var/tmp
logfil=/var/tmp/clear-greylist.log
rotate=/usr/local/libexec/rotate-file.csh

# このスクリプトのログを取る
exec > $logfil 2>&1
set -vx

# とりあえず /tmp へ
cd /tmp

# 古いデータベースをローテート
if [ -f $greyold ]; then
	if [ -f $rotate ]; then
		csh -f $rotate $greyoldest
	fi
fi

# Postfixを止める
$postfix stop
sleep 30

# 古いデータベースを固める
gzip < $greylist > $greyold

# 新しく空のデータベースを作る
cp /dev/null $greylist
chown ${greyowner}':'${greygroup} $greylist

# Postfixを再起動する
$postfix start

exit 0

# EOF
