#! /bin/sh # index-news : Cree les index des messages de news # par Benoit # Repertoire des news Rep_News=/var/spool/news/articles/crans/ # Repertoire d'indexage Rep_Ind=/var/local/search_news/index/crans. # Repertoire d'id-xage Rep_Id=/var/local/search_news/mid/crans. # Indexage des articles for forum in $(find $Rep_News -type d -mindepth 1 -printf '%P \n') ; do if (($(du -S $Rep_News$forum --max-depth=0 | awk '{print $1}') )) ; then index=($Rep_Ind$(echo $forum | tr "/" ".")) nice -10 /usr/bin/index++ -v0 -i $index -r -mFrom -mSubject -mMessage-ID -e 'mail:*' $Rep_News$forum # Indexage des Id id=($Rep_Id$(echo $forum | tr "/" ".")) number=$(tail -n 1 $id | awk '{print $1}') fichier=$Rep_News$forum/$number if test -f $fichier ; then for article in $(find $Rep_News$forum -type f -maxdepth 1 -newer $fichier -printf '%P \n') ; do mid=$(grep "Message-ID: " $Rep_News$forum/$article | awk '{print $2}') $(echo $article $mid >> $id ) done else # si le dernier message avant le dernier id-xage est annule ou modere : # on est bourrin : on re-indexe l'ensemble $(echo -n > $id) for article in $(find $Rep_News$forum -type f -maxdepth 1 -printf '%P \n') ; do mid=$(grep "Message-ID: " $Rep_News$forum/$article | awk '{print $2}') $(echo $article $mid >> $id ) done fi fi done