Viktor Dukhovni: > They are best left alone, but can be deleted with care, something > along the lines of: > > # postfix stop > # postsuper -s > # cd /var/spool/postfix > # (find defer -type f -print; > find deferred -type f -print) | > perl -lne ' > if (m{^defer/(?:.*/)?(.*)$}) { > $defer{$1} = $_; > } elsif (m{^deferred/(?:.*/)?(.*)$}) { > delete $defer{$1}; > } > END { > while (($id, $path) = each(%defer)) { > if (unlink($path)) { > printf "%s defer log deleted\n", $id; > } else { > warn "unlink: $path: $!\n"; > } > } > } > '
I had a similiar issue some years ago. A heavy loaded defer queue was so slow. I noticed these orphaned files in defer/. I had the feeling the qmgr acts faster after removing them. For that reason I implemented a cronjob to search (but not delete) orphaned files once a day. cd ${QUEUE_DIR}/defer/ for deferinfo in `find . -type f`; do if [ ! -f "../deferred/${deferinfo}" ]; then ORPHANED_FILES="${ORPHANED_FILES} ${QUEUE_DIR}/defer/${deferinfo}" fi done if test ! -z "${ORPHANED_FILES}"; then echo echo '* Infodateien ohne Queuedateien:' echo '--------------------------------' echo ${ORPHANED_FILES} | xargs ls -la fi That cronjob produces output very rarely but mostly after manual interaction ( postsuper -r ALL and so ) Andreas