Each old log file has a name beginning with @, continuing with a precise timestamp showing when the file was finished, and ending with one of the following codes:
* .s: This file is completely processed and safely written to disk.
* .u: This file was being created at the moment of an outage. It may have been truncated. It has not been processed.
If you are only getting ".u" files then your system is never staying "up" long enough for qpsmtpd to gracefully rotate the log files.
I had a similar problem at one point and "fixed" it by modifying
/etc/cron.d/mailstats.cron to scan "/var/log/qpsmtpd/*.* /var/log/qpsmtpd/current" instead of "/var/log/qpsmtpd/*.s /var/log/qpsmtpd/current".
You could eliminate your error message by running
touch /var/log/qpsmtpd/@filler.s but you won't get valid reports if your logs all end in ".u".
Ultimately, mailstats needs to:
- Include the ".u" logfiles when generating stats, as these files *can* contain relevant information
- gracefully handle the case where a specified input file is missing
These problems
may have been addressed in the upcoming release of mailstats that uses "logterse"...
Here's a post from bugzilla suggesting "@*" instead of "*.*":
http://bugs.contribs.org/show_bug.cgi?id=1524#c4