Journal Postgrey planté, solution trouvée

Posté par (page perso) .
Tags : aucun
0
24
jan.
2006
Salut mon journal,

Ce matin j'ai planté mon serveur de mail perso, pas encore d'explication, mais visiblement une barrette de ram défectueuse ...

En attendant, et suite au reboot, postgrey ne redémarrait pas avec l'erreur suivante :

ERROR: can't create DB environment: No such file or directory

Il laissait ensuite son fichier /var/run/postgrey.pid mais ne tournait plus pour autant. Enfin, un strace me donnait des "__db.001" no such file or directory.

Ne trouvant rien de bien probant sur le net, si ce n'est des types qui disaient qu'après suppression de la base Berkeley dans /var/lib/postgrey, cela marchait (sniff, ma db ?? ...), J'ai fini par trouver que ma base de greylisting était corrompue (dans /var/lib/postgrey) et voici la méthode pour la restaurer proprement :


# Installation des outils DB4.3 (ou la version qui est la votre)
apt-get install db4.3-util
# dump des bases actuelles :
cd /var/lib/postgrey
db4.3_dump -p postgrey.db >/var/tmp/postgrey.db
db4.3_dump -p postgrey_clients.db >/var/tmp/postgrey_clients.db
# On vire tout le monde :
killall -15 postgrey
# (le killall m'a répondu "no process killed")
rm /var/run/postgrey.pid
rm /var/lib/postgrey/* -f
# On relance postgrey
/etc/init.d/postgrey start
# Là ca marche ... J'arrête donc le bouzin
/etc/init.d/postgrey stop
# et je restaure mes infos de whitelist :
db4.3_load -f /var/tmp/postgrey_clients.db postgrey_clients.db
db4.3_load -f /var/tmp/postgrey.db postgrey.db
# Et je relance le process comme si de rien n'était ...
/etc/init.d/postgrey start


Voilà, j'espère que cela vous aidera si un jour vous tombez sur le même os ...
  • # correction orthographique

    Posté par (page perso) . Évalué à 2.

    Juste une chose : il faudrait pouvoir désactiver la correction orthographique lorsque l'on poste, car là je ne pouvais absolument pas voir quelle tête avait mon code lors du premier post, étant tout bariolé de rouge ...

    Je ne pouvais pas vérifier si les alternance gras / pasgras faisait joli etc.
  • # Rah db ...

    Posté par (page perso) . Évalué à 2.

    Que de problème de corruption avec db ...

    J'ai déjà vu ldap puis cyrus imapd tomber juste a cause de ce ... format ...

    Il n'est pas toujours possible de récuperer des données d'un db corrompu. Je me demande réellement pourquoi des projets important continue à utiliser les .db .... si fragile.
    • [^] # Re: Rah db ...

      Posté par (page perso) . Évalué à 5.

      Fragile mais excessivement facile à mettre en oeuvre logiciellement, mais surtout très rapide d'accès. Plus encore qu'un sqlite par exemple, surtout du fait d'une utilisation brutale du btree ou des tables de hashage (et surtout arrivé beaucoup plus tot dans l'histoire de l'informatique).

      en cas de nécessité de disposer d'une garantie de restauration, une sauvegarde périodique sous forme de dump s'avére nécessaire ...

      par exemple dans le logrotate.d :

      /etc/init.d/postgrey stop
      cd /var/lib/postgrey
      db4.3_dump -p postgrey.db | gzip >/var/backups/postgrey.db.gz
      db4.3_dump -p postgrey_clients.db |gzip >/var/backups/postgrey_clients.db.gz
      /etc/init.d/postgrey start

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.