[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

inn



On 11 Jan 2002, ivan demakov wrote:


id>сижу я, никого не трогаю, читаю почту (фидошную)
id>вдруг, происходит сбой по питанию;
id>машина перегружается, все вроде в порядке
id>но inn почему то стал всю входящую почту
id>складывать куда-то в /var/spool/news/incoming/bad/
id>как эту ситуацию исправить?

	/var/lib/news/active не записался, остался старым с момента
прошлого приема почты. В результате inn пытается записать статью,
которая уже есть, обламывается, и отбрасывает поступивший пакет как
"плохой". В ru.linux как-то пробегал скрипт, чинящий active после
таких скачков, я им периодически пользуюсь после отключения
электричества.

#!/bin/bash

ACTIVE="/var/lib/news/active"
NEWACTIVE="/var/lib/news/active.rebuild"
SPOOL="/var/spool/news/articles"

echo -n > $NEWACTIVE
GRPS=`cut -d " " -f 1 ${ACTIVE}`

for NEWSGROUP in $GRPS; do
        NEWSGROUPPATH=`echo $NEWSGROUP| sed 's/\./\//g'`
        NEWSGROUPLINE=`grep $NEWSGROUP $ACTIVE`
        LASTARTICLE=`echo $NEWSGROUPLINE| cut -d " " -f 2`
        FIRSTARTICLE=`echo $NEWSGROUPLINE| cut -d " " -f 3`
        STATE=`echo $NEWSGROUPLINE| cut -d " " -f 4`
        ARTICLES=`ls $SPOOL/$NEWSGROUPPATH|grep -v '[^[:digit:]]'| \
                gawk -v first=$FIRSTARTICLE -v last=$LASTARTICLE \
                '{if($1>last){last=$1}if($1<first){first=$1}}\
                END{printf("%010s %010s",last,first)}'`
        echo -e "$NEWSGROUP $ARTICLES $STATE" >> $NEWACTIVE
done

chown news:news $NEWACTIVE
chmod 664 $NEWACTIVE


Reply to: