Sollte die postgrey DB korrupt werden, kann dies je nach Größe der DB ärgerlich sein, da bei der verwendung einer neuen DB erstmal alle Clients gegreylisted werden.
Man kann die postgrey.db jedoch auch reparieren.
Als erstes müssen die Tools für BerkeleyDBs installiert werden. Die aktuelle Version finden Sie wiefolgt heraus.
apt-cache search Berkeley | grep util db4.2-util - Berkeley v4.2 Database Utilities db4.3-util - Berkeley v4.3 Database Utilities db4.4-util - Berkeley v4.4 Database Utilities kboincspy - monitoring utility for the BOINC client libdb3-util - Berkeley v3 Database Utilities dnsutils - Clients provided with BIND
Entscheident sind hier die dbx.x-util Einträge. Nachdem Sie die aktuelle Version installiert haben sollten Sie postgrey stoppen insofern es noch läuft
/etc/init.d/postgrey stop
wechseln Sie nun in den postgrey Ordner
cd /var/lib/postgrey
und sichern die defekte Datenbanken
db4.4_dump -p postgrey.db >/var/tmp/postgrey.db db4.4_dump -p postgrey_clients.db >/var/tmp/postgrey_clients.db
Nun bereinigen wir den Postgrey Ordner erstmal von allen unnötigen Dateien
rm /var/run/postgrey.pid rm /var/lib/postgrey/* -f
Nun postgrey start und wieder stoppen, damit eine leere Datenbank angelegt wird.
/etc/init.d/postgrey start /etc/init.d/postgrey stop
Nun kann die Sicherung wieder hergestellt werden
db4.4_load -f /var/tmp/postgrey_clients.db postgrey_clients.db db4.4_load -f /var/tmp/postgrey.db postgrey.db
Nun postgrey wieder starten …