On 22 Apr 2002 [EMAIL PROTECTED] wrote:

> HI!
> Im running qpopper 4.03 on a linux box.
> During fetching mail, my connection froze, and my mail server still
> holds the lock file .user.pop.
> No email can't be "popped" so far for this account (ok).. but when is it going to 
>work again ?
> Must I set up a cron job (which ??) to check lock files and correct them ?

We use a cron-job like:

5 * * * * /root/adm/bin/findpoplock

and a shell script:

---------- >O ----------
#!/bin/bash
#
# Steckengebliebene POP3-Locks finden
#
# 10.02.2002 ogf        Auch Prozesse, die root gehoeren, werden gekillt
#

PFAD="/data/exim/mailboxes/"
TEMPFILE="/tmp/unlockpop.temp"
MONATE="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec"

#
# Lockfiles aelter als $MAXAGE Minuten fuehren zur Alarmierung
# und spaeter evtl. zur automatischen Freigabe
#
MAXAGE=180

function unlockproc
{
   for I in `find $PFAD -iname '.*pop' -amin +$MAXAGE`; do
      KENNUNG=`echo "$I"|cut -b 23-28`
      PROCESS=`ps aux|grep popper|grep "^$KENNUNG"|cut -b 10-14`
      echo "Locked: $KENNUNG $PROCESS"
      kill $PROCESS
      /data/exim/bin/exim_lock /data/exim/mailboxes/$KENNUNG \
         "cat /data/exim/mailboxes/$KENNUNG \
          >> /data/exim/mailboxes/.$KENNUNG.pop ; \
         mv /data/exim/mailboxes/.$KENNUNG.pop \
          /data/exim/mailboxes/$KENNUNG ;  \
         chmod 600 /data/exim/mailboxes/$KENNUNG ; \
         chown $1.mail /data/exim/mailboxes/$KENNUNG"

      echo -e "\n\n"
   done

   for MON in $MONATE ; do
      for PROCESS in `ps aux|grep popper|grep "^root"|grep \
                        "$MON[0-9][0-9] "|cut -b 5-14`; do
         echo "Locked: root $PROCESS"
         kill $PROCESS
         echo -e "\n\n"
      done
   done
}

unlockproc >$TEMPFILE
if [ -s $TEMPFILE ]; then
   cat $TEMPFILE | mail -s "chlothar: unlockpop" $POSTMASTER
fi

---------- >O ----------

> Is there any kind of automatism build in in popper to correct this ?

No.


Oliver


Reply via email to