Startseite : Infos : Infotexte : Usenet : INN wiederherstellen
Leider erweisen sich die 2.x-Versionen des INN unterhalb von 2.4.x als deutlich empfindlicher gegenüber Abstürzen, ja geradezu als Mimosen, die nach einer ungeplanten Beendigung oder einem Crash des Servers nach umfangreicheren Aufräumarbeiten verlangen, namentlich einer Neuerstellung der History und einem renumber.
Matthias Andree hat dafür eine fertige Scriptlösung, die als Benutzer news ausgeführt werden sollte:
#! /bin/sh
set -e
if test "x`id -un`" != xnews ; then
echo >&2 "$0 must be executed as user news"
exit 1
fi
eval `innconfval -s`
set -x
cd $PATHDB
ctlinnd throttle 'fixup' || :
ctlinnd reject 'fixup' || :
ctlinnd reload '' ''
if [ x"$OVMETHOD" = x"buffindexed" ] ; then
awk -F: '
/^[0-9]+:/ {
printf "dd if=/dev/zero bs=1024 of=\"%s\" count=%d\n", $2, $3
}' $PATHETC/buffindexed.conf \
| sh -x
fi
makehistory -b -e -f history.n -O -l 30000
awk 'NF == 2 { print }' < history >> history.n
makedbz -s `wc -l < history` -f history.n
for i in history.n* ; do
mv $i history${i##history.n}
done
ctlinnd reload all fixup
ctlinnd go fixup
ctlinnd renumber ''
echo "done."
Alternativ die Lösung von Sebastian Bork, die das Vorhandensein von sudo und eine entsprechende Konfiguration von /etc/sudoers voraussetzt:
#!/bin/sh
/usr/local/news/bin/ctlinnd throttle Rebuilding databases.
sleep 5
rm -rf /var/spool/news/overview/*
rm -rf /var/spool/news/tradspool.map
/usr/local/news/bin/makehistory -b -f history.n -O -l 30000
cd /usr/local/news/db
awk 'NF == 2 { print }' < history >> history.n
/usr/local/news/bin/makedbz -s `wc -l < history` -f history.n
mv history.n history
mv history.n.dir history.dir
mv history.n.hash history.hash
mv history.n.index history.index
/usr/local/news/bin/ctlinnd reload all rebuild-newsspool
/usr/local/news/bin/ctlinnd go Rebuilding databases.
sleep 2
sudo /etc/init.d/inn2 restart
sleep 2
/usr/local/news/bin/ctlinnd renumber ''
mv /var/spool/news/incoming/bad/* /var/spool/news/incoming/
rm /var/spool/news/incoming/tmp/*
Es sollte damit gerechnet werden, daß ein Absturz einige Dateien in Mitleidenschaft ziehen kann, die dann ggf. gelöscht (oder zunächst einmal umbenannt) bzw. wiederhergestellt werden müssen. Daher ist es nicht verkehrt, am Anfang den Lauf bspw. von makehistory mittels strace oder einem ähnlichen Tool zu verfolgen, um festzustellen, ob es überhaupt arbeitet oder bereits beim Start hängenbleibt. Das verhindert, daß man nach vielen Stunden makehistory immer noch nicht weiter ist als zu Anfang ...
| URL: http://th-h.de/infos/usenet/inn-recovery.php | Seite angelegt: 24.04.2005 | |
| © Thomas Hochstein - Impressum - Sitemap | Letzte Änderung: 07.09.2005 |