Quoting "Darek M." <da...@nyi.net>:
On 5/13/2011 6:45 PM, Wade Rossmann wrote:
I would recommend upgrading vpopmail and qmailadmin. You'll
probably also want to switch to Dovecot from Courier-IMAP.
The server is quite old and has a tenuous grasp on stability, we
cannot have the server/service go down so we are hesitant to
perform software upgrades. We've got new servers we're moving to
that are based on Postfix/Dovecot, but we're trying to 'gently
encourage' users to reduce their disk usage beforehand. The trouble
is the quota reporting is telling them they are not over quota at
all.
Where does qmailadmin pull the quota usage numbers from?
vpopmail
I am getting spotty results from 'vuserinfo', for the high-volume
users will generally report 0% quota usage and rarely 100%. Does
vpopmail rely on any sort of caching or internal db for these
values? Could this be due to an integer overflow with such a large
mailbox?
As well, for users under quota usages have been reported
differently between the OS/vpopmail and qmailadmin. Is there any
caching taking place in qmailadmin?
Try deleting the maildirsize file in a user's Maildir/ to force
vpopmail to regenerate it. If it works, you could put that in a
cron. I've been doing that for a while myself.
I've made the move to postfix/postfixadmin/mysql/dovecot on a number
of systems and am quite happy. Dovecot can even report quota usage
directly to Thunderbird, which is neat. And there are server side
filters using sieve that don't require ftp or shell access. It's
all very nice and up to date.
I randomly had maildirsize file issues (reporting wrong quota), and
finally just decided to rebuild it regularly during delivery. I have
atime off.
So from procmail I call:
TIMESTAMPRESULT=`/usr/local/vpopmail/domains/bin/calctimestamp.sh
$DOMDIR $EXT@$HOST`
where calctimestamp.sh =
#!/bin/sh
###!/usr/local/bin/bash
#Get current timestamp of file, delete and re-create if older than 1 day
FILE=$1/Maildir/maildirsize
NOW=`date +%s`
echo "File is $FILE"
if [ -f "$FILE" ]
then
FILEDATE=`stat -f %m $FILE`
AGE=`expr $NOW - $FILEDATE`
else
AGE=0
fi
echo "Now is $NOW"
echo "Filedate is $FILEDATE"
echo "Age is $AGE"
if [ $AGE -gt 86400 ]
then
# Remove file, run vuserinfo to recalculate quota
rm $FILE
QUOTA=`/usr/local/vpopmail/bin/vuserinfo -Q $2`
fi
Rick
!DSPAM:4dcddff932715874421618!