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!

Reply via email to