Offsite Backup
Warum Offsite-Backup?
Normalerweise brennt man brav sein Zeugs auf CDs/DVDs oder ähnliches, auf eine zweite Festplatte... Das Problem dabei ist, daß bei einem Brand, Einbruch oder Konfiszierung alle Backup weg sind.
Mit Duplicity ist es leicht, beliebigen Speicherplatz für Offsite-Backups zu nutzen. Dabei wird alles komprimiert (bzip2) und bei Änderungen nur die Binärunterschiede inkrementell hochgeladen. Darüberhinaus wird das komplette Backup per GnuPG verschlüsselt, so daß es unerheblich ist, ob man dem Provider vertraut, wo man seine Daten sichern möchte.
Als Speicherplatz kann man seinen Webspace vom Internetprovider nehmen, seinen Gmail-Space (2GB) per gmailfs oder, wenn man eine professionellere Lösung möchte, S3 Storage Service. Dort zahl man momentan (Juli 2007) 0.15$ pro Gigabyte und Monat. 0.10$ für jedes hochgeladene Gigabyte und 0.18$ für jedes heruntergeladene Gigabyte. 10GB sichern kostet also 1.50$ pro Monat, und fürs hochladen einmalig 1.80$. Das ganze hat den Vorteil, daß die Datensicherheit sehr hoch ist, selbst wenn ein Meteorid auf ein RZ von Amazon fällt, sind die Daten noch da. Und man kann beliebig viel Speicherplatz dort sichern, die Preise werden mit Sicherheit in der Zukunft fallen. Die paar Euros im Monat für ein wirklich sicheres Backup sind deutlich billiger als jede selbstgebaute Backuplösung zuhause gerade was Strom betrifft.
Diese Anleitung soll beschreiben, wie man sein heißgeliebtes Maildir nach S3 backupt:
Zu Beginn braucht man einen Account bei Amazon S3. Mit einer Visa-Karte ist das kein großes Problem, der Dollarkurs ist momentan super, und man zahlt i.d.R. 2.5% Aufschlag bei Währungsunterschieden.
- Man erhält einen S3-Key und ein S3-Secret (die Zugangsdaten)
- Bei S3 werden die Daten in sogenannten Buckets (Eimern) organisiert. Das entspricht Laufwerken. Der Name eines Buckets kann frei gewählt werden, solange er noch frei ist. Die Bucketnamen sind allerdings einmalig, so daß man ggf Pech hat, wenn man einen Namen wählt, der schon existiert, dann bekommt man i.d.R. ein Permission denied. Im Amazon Forum steht, daß jeder Kunde 100 Buckets anlegen darf. Allerdings sollte man sich das gut überlegen. Das wird ziemlich unabhängig.
Ich habe auf meinem Webserver ein Php-Skript namens S3Browser installiert. Damit kann man leicht in seinen Buckets herumsurfen. S3browser hat allerdings ein kleines Problem mit den Dateinamen, die Duplicity kreiert. Die Lösung für dieses Problem findet man hier. (Screenshot)
Duplicity hat folgende Abhängigkeiten: librsync, GnuPGInterface, BitBucket
Wenn man duplicity erfolgreich installiert hat, kann man erstmal ein Gefühl für die Backups von Duplicity bekommen, indem man ein Backup irgendwo hinkopiert und wieder herstellt.
$ duplicity-bin /home/foobar/Maildir scp://foo@baa//tmp/backuptest
Wenn man es erfolgreich hochgeladen hat, kann man ein inkrementelles Update testen, indem man den Befehl einfach noch einmal ausführt. Hat dies geklappt, stellt man das verschlüsselte Backup wieder her: $ duplicity-bin scp://foo@baa//tmp/backuptest /tmp/recovered
Anzumerken sei hier, daß Duplicity eine etwas komische Fehlermeldung wirft, wenn man das Backup in einen nichtexistenten Ordner machen möchte. In dem Fall oben, muß der Ordner /tmp/backuptest existieren.
Hat alles geklappt und man Vertrauen in das System entwickelt, macht man sich auf, und benutzt S3.
mailbackup.sh
export S3KEY=XXXXXXXXXXXXXXXXXXXX export S3SECRET=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY export PASSPHRASE='dies-sollte-hier-ziemlich-geheim-sein' duplicity-bin --include-globbing-filelist mailfiles.list /home/foobar s3+http://foobarsmails
mailfiles.list
+ /home/foobar/Maildir + /home/foobar/.mailfilter + /home/foobar/.fetchmailrc + /home/foobar/.spamassassin - **
Dies kann man dann täglich, wöchentlich oder wie auch immer zyklisch durchführen.
S3key und Passwort kann man im Falle eines Datencrashs über die bei Amazon hinterlegte Emailadresse wiederherstellen. Die Passphrase muß man sich allerdings gut merken, sonst hat man zwar ein Backup, kann es aber nicht auspacken. (GnuPG verschlüsselt _ziemlich_ gut!)
Will man nun sein Zeug wiederherstellen, macht man folgendes:
recover.sh
export S3KEY=XXXXXXXXXXXXXXXXXXXX export S3SECRET=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY export PASSPHRASE='dies-sollte-hier-ziemlich-geheim-sein' duplicity-bin s3+http://foobarsmails /tmp/recover
Das wars.