Als je vaak met Pan werkt wil het na een paar maanden wel eens erg traag worden. De oorzaak is dat Pan van alle nieuwsgroepen historie bijhoudt over welke artikelen al wel of niet gelezen en gedownload zijn. Wanneer je usenet gebruikt om te discussieren, waar het oorspronkelijk voor bedoeld is, is dat prima. Echter, wanneer je usenet gebruikt om te downloaden, loopt de hoeveelheid historische data na een tijdje ernstig uit de hand.
Het beste is om helemaal met een schone lei te beginnen. Maar je wilt natuurlijk wel de nieuwsgroepen behouden waar je op geabonneerd bent. Ook wil je je news server(s) niet opnieuw instellen. Het geheel verwijderen van .pan2 is dus te veel van het goede. Vandaar onderstaand scriptje.
Sluit Pan af en voer onderstaand bash-script uit. Dat verwijdert alle historische informatie uit Pan, zodat het weer lekker vlot reageert. Haal vervolgens uit drukke groepen niet alle of nieuwe (is de eerste keer hetzelfde) headers op, anders eet Pan al je RAM-geheugen op.
#!/bin/bash
# cleanup_pan
# Author: Eric de Hont
# vr okt 14 17:56:54 CEST 2011
# mail: eric(at)hobiho.nl
##################################################
cd ~/.pan2 || { echo 'Geen .pan2?' && exit; }
for newsrc in newsrc-?
do echo "Opschonen $newsrc ..."
awk '{print $1}' $newsrc >$newsrc.clean
mv -fv $newsrc.clean $newsrc
done
echo 'Verwijderen article-cache.'
rm -fr article-cache
echo 'Verwijderen tasks.'
rm -fv tasks.nzb
echo 'Opschonen xover.'
awk '{print $1}' newsgroups.xov >newsgroups.xov.clean
mv -fv newsgroups.xov.clean newsgroups.xov
echo 'Leegmaken Score-file'
# Wil je misschien niet. Zet er dan een hekje voor.
>Score
echo "Verwijder alle message-ID's en andere informatie uit de groepfiles."
cd groups || { echo 'Geen groups-directory?'; exit; }
for groupfile in *
do echo 2 >$groupfile
done
echo 'cleanup_pan klaar.'