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 …

    Leave A Reply