44 lines
1.2 KiB
Text
44 lines
1.2 KiB
Text
#/bin/sh
|
|
#
|
|
## à utiliser en cas de plantage et de non synchro de /var/lib/news/active.
|
|
#
|
|
# ctlinnd throttle ' '
|
|
#
|
|
## À ce niveau, il est TRES important de vérifier que l'on ne peut plus
|
|
## poster de messages dans les news.
|
|
## Puis il faut vérifier que le fichier active a la bonne syntaxe, du début
|
|
## à la fin, i-e :
|
|
## <newsgroup> <num_dernier_post> <num_premier_post> y
|
|
## Sinon, il faut corriger à la main.
|
|
#
|
|
# ./fix-active < /var/lib/news/active > active.new
|
|
# cp active.new /var/lib/news/active
|
|
#
|
|
## Important : vérifier les droits de active (inn ne démarre pas s'il râle à
|
|
## cause des droits...)
|
|
#
|
|
# chmod 664 /var/lib/news/active
|
|
# chown news.news /var/lib/news/active
|
|
# ctlinnd go ''
|
|
#
|
|
## le 1/11/01 2h40 -- Nico
|
|
#
|
|
cd /var/spool/news/articles
|
|
while read gr hi lo md
|
|
do
|
|
d="`echo $gr | tr . /`"
|
|
hi="`echo $hi | sed -e 's/^00*//'`"
|
|
lo="`echo $lo | sed -e 's/^00*//'`"
|
|
if [ "$hi" = '' ] ; then
|
|
hi=0
|
|
fi
|
|
if [ $hi -eq 0 -a $lo -eq 1 ] ; then
|
|
last=0
|
|
else
|
|
last="`ls -1 $d 2>/dev/null | sort -n | grep '^[1-9][0-9]*$' | tail -1`"
|
|
if [ "$last" = '' ] ; then
|
|
last=$hi
|
|
fi
|
|
fi
|
|
printf "%s %010d %010d %s\n" $gr $last $lo $md
|
|
done
|