Ich habe mal versucht, die notwendigen Schritte in einen Skript zu packen:
#!/bin/bash
cd /etc/postfix
#
# Prüfung auf unterstützte Version
#
if ! postconf -m|grep lmdb>/dev/null
then
echo "--- Keine lmdb-Datenbankunterstützung gefunden"
echo " Wurde die Aktualsierung auf Postfix v3.9 durchgeführt?"
exit
fi
#
# Ändert alle hash:- und btree:-Verweise in lmdb:
#
sed -i "s/hash\:/lmdb\:/g;s/btree\:/lmdb\:/g" main.cf
echo "--- Änderungen in main.cf abgeschlossen"
#
# Konvertiert die Postfix-Datenbanken nach Update auf v3.9
#
if ls *lmdb >/dev/null 2>&1
then
echo "--- Konvertierung wurde schon durchgeführt"
exit
else
for db in *.db
do
if [ ! $db == aliases.db ]
then
postmap $(basename -s .db $db)
echo "--- Datenbank $(basename -s .db $db) konvertiert "
rm $db
echo " Datenbank $db gelöscht"
fi
done
newaliases
rm aliases.db
echo "--- aliases konvertiert und alte Datenbank gelöscht"
#
# Postfix-Konfiguration nachladen
#
postfix reload
echo "--- Konvertierung durchgeführt"
mail -s 'Konvertierung der Datenbanken abgeschlossen' $USER <<!
Die Konvertierung der Datenbanken in das lmdb-Format für Postfix v3.9 wurde
durchgeführt und die alten btree-Datenbanken gelöscht.
Bitte das Journal auf Fehler kontrollieren.
!
echo " Testmail an $USER verschickt, Journal auf Fehler kontrollieren"
fi
[Edit]
Ich habe noch folgende Erweiterungen vorgenommen:
- Prüfung auf unterstützende Postfix-Version
- Statusmeldungen nach jedem Schritt
- automatischer Versand einer Testmail