Octoate.de – Sinnvolles könnt ihr woanders lesen Konkrete Themen – Fehlanzeige, was mich gerade beschäftigt, wird aufs Korn genommen.

26Nov/080

Backup Skript für Cyrus-IMAP Server auf NSLU2

Da bei mir endlich mal wieder ein Emailserver-Backup her sollte, habe ich nach Lösungen gesucht, um eine Sicherung meines Cyrus-IMAP Servers auf meinem Linksys NSLU2 durchzuführen. Dabei ist ein Skript entstanden, das automatisch die benötigten Schritte durchführt. Ihr findet es auf der rechten Seite unter "Themen".

26Nov/080

Cyrus-IMAP: Sicherung mit dem NSLU2

Da einem Bekannten vor ein paar Tagen seine Mails komplett abhanden gekommen sind, bin ich mal wieder aus meinem Winterschlaf hochgeschreckt und bemerkt, dass meine letzte Datensicherung des IMAP-Servers auch mittlerweile schon fast ein Jahr her ist. Nach ein wenig Sucherei habe ich auch ein Skript bei Hetzner gefunden, das ein Backup des Cyrus-IMAP Servers erstellt (allerdings ohne Kompression) und es für meinen kleinen SLUG angepasst. Es setzt vorraus, dass auf der angeschlossenen Festplatte genug Speicherplatz für das Backup vorhanden ist.
Die Daten werden auf meinem NSLU2 im Public Verzeichnis unter einem Unterverzeichnis namens /backup angelegt. Möchtet ihr das Backup gerne woanders speichern, so müsst ihr das Skript entsprechend anpassen. Das Backup erfolgt in zwei Schritten, um die Zeit, in dem Cyrus nicht läuft, minimal zu halten. Zuerst wird mittels Rsync ein Backup des laufenden Servers gemacht, bei dem allerdings nicht alle Dateien mitkopiert werden können. Danach wird der Server abgeschaltet und die restlichen, evtl. geänderten Dateien werden kopiert und der Server dann wieder gestartet.

Ich hoffe, dass es dem ein oder anderen Linksys NSLU2 Benutzer auch weiterhelfen kann.

#!/bin/sh
# This script creates a hot copy of the cyrus data files.
# We use a trick from the cyrus wiki. First, we use rsync to copy the spool
# and the cyrus dbs to the preliminary backup directory. Then, we shut down
# cyrus, rsync again and start cyrus again. This way, we reduce cyrus' downtime
# to a minimum.

echo "creating Cyrus backup"

echo "   creating directories"
rm -rf /share/flash/data/public/backup/cyrus
rm -rf /share/flash/data/public/backup/sieve
mkdir -p /share/flash/data/public/backup/cyrus/lib
mkdir -p /share/flash/data/public/backup/cyrus/spool
mkdir -p /share/flash/data/public/backup/sieve/spool

echo "   first rsync pass"
rsync -r /opt/var/lib/imap /share/flash/data/public/backup/cyrus/lib
rsync -r /opt/var/spool/imap /share/flash/data/public/backup/cyrus/spool
rsync -r /opt/var/spool/sieve /share/flash/data/public/backup/sieve/spool

echo "   halting cyrus"
/opt/etc/init.d/S59cyrus-imapd stop

echo "   second rsync pass"
rsync -r /opt/var/lib/imap /share/flash/data/public/backup/cyrus/lib
rsync -r /opt/var/spool/imap /share/flash/data/public/backup/cyrus/spool
rsync -r /opt/var/spool/sieve /share/flash/data/public/backup/sieve/spool

echo "   starting cyrus again"
/opt/etc/init.d/S59cyrus-imapd start

1Okt/080

Bootprobleme bei Unslung behoben

Da habe ich in den letzten Tagen doch mal ein Systemupdate meines NSLU2 NAS mit "ipkg update" und "ipkg upgrade" durchgeführt und was passierte? Das System hat nicht mehr alle Dienste gestartet. Zum Glück konnte ich mich aber noch über das per Unslung über die Weboberfläche freigegebene Telnet-Interface einloggen und danach von Hand alle benötigten Dienste starten. Leider gestaltete sich die Fehlersuche äusserst schwierig, da ich den gesamten Bootprozess kontrollieren musste - man lernt zwar was dabei, aber Spaß macht es nicht...
Nach langem Suchen bin ich auf die Lösung des Problems gestoßen: Beim Starten des NTP Clients blieb der Bootprozess hängen, was an einem Parameter "-l" lag, der dem Programm mitgegeben wurde. Leider kann ich nicht sagen, was der Parameter bewirkt, da die Hilfe des Programmes äusserst spärlich ist. Jetzt funktioniert jedenfalls alles wieder ohne dass ich jeden Tag die Netzwerkdienste manuell starten muss.

15Dez/070

Und weg ist der SLUG

Tja, da habe ich die neue Hardware, den Linksys NSLU2, erfolgreich in Betrieb genommen und meinen neuen Emailserver darauf installiert und dann schiesst der sich dieses Wochenende selbst ab. Dummerweise habe ich gerade keine Möglichkeit das System neu zu starten und werde erst am Montag das System wieder in Betrieb nehmen können. Solltet ihr also mal keine Antwort auf eure Mails bekommen, dann bitte etwas warten, nächste Woche klappts bestimmt wieder ;-) . Bin mal gespannt, was es war (Stromausfall war es jedenfalls nicht, dafür ist der zweite Rechner noch erreichbar)...

21Nov/070

Mailserver läuft jetzt auf dem Linksys NSLU2

So, nachdem die Kopieraktion meines alten IMAP Servers auf den neuen NSLU2 erfolgreich war, habe ich den heutigen Abend damit verbracht, das Mailsystem wieder vollständig zum Laufen zu bringen (an alle, die jetzt noch auf Mails von mir warten: Die werden jetzt erst wieder abgearbeitet). Mittlerweile läuft auf dem kleinen Linksys ein Cyrus-Imap Server, Postfix und SpamAssassin. Die Mails werden über einen Cronjob mit fetchmail alle 10 Minuten abgeholt (Daemon Mode ist auf der kleinen Hardware etwas zu speicherintensiv, aber so geht's ja auch) und zusätzlich habe ich neue Zertifikate für meinen IMAPS und SMTPS Zugang erstellt. Man merkt allerdings beim Laden von Mails, dass der Kleine doch ein wenig an SpamAssassin zu knabbern hat, aber das ist eigentlich auch kein grosses Problem, da ein Grossteil der SpamMails bereits bei meinen Emailprovidern gefiltert werden.
In den nächsten Tagen werde ich mal schauen, ob ich in Sachen Webmailclient ein wenig weiter komme. Problem ist derzeitig, dass auf dem NSLU2 ein thttpd Server läuft, der kein PHP mit beinhaltet. Es gibt zwar eine Version von uNSLUng mit PHP, aber ob das läuft, muss ich erst noch ausprobieren. Apache möchte ich jedenfalls nur ungerne auf dem kleinen Gerät installieren.
Die Bootzeiten des NSLU2 haben sich dank der Server, die ich jetzt installiert habe, allerdings auf ca. 5 Minuten verlängert. Da der Server aber 24/7 laufen soll, spielt das für mich aber keine grosse Rolle.
Ansonsten gilt: Wenn es etwas neues gibt, werde ich das hier schreiben.