Das S3 (Simple Storage Service) von Amazon ist ein flexibler Online-Storage, der hervorragend geeignet ist um Backups zu archivieren. In diesem Post möchte ich die Lösung vorstellen, die ich auf meinen VServern einsetzte. Auf dem Server läuft Debian “lenny”.
Datenverlust
Das Letzte was einem Betreiber eines Servers passieren sollte, ist natürlich der Verlust der Daten. Das kann aber schnell passieren: Festplattencrash, Hacker, Versehen, in der Shell vertippt, usw… alles führt zur selben Situation: »Daten sind futsch – was jetzt?«
Alles kein Problem, hat man für ein aktuelles Backup gesorgt!
Die hier vorgestellte Lösung verwendet den S3 Storage Service von Amazon. Die Kosten für den Service sind günstiger als man denkt und lassen sich einfach mit diesem Tool abschätzen: Simply Monthly Calculator
Voraussetzung
- Einen AWS Zugang http://aws.amazon.com/de/ für den S3 Storage.
- Access Key ID und Secret Access Key
Backup-Manager Installation
Der Backup-Manager ist ein Kommandozeilen-Backup-Tool für GNU/Linux. Das Tool hilft bei der täglichen Erzeugung von Backups und ist dabei noch einfach zu handhaben.
Installation von Backup-Manager:
apt-get install backup-manager
Nun folgen Anweisungen um die Gundkonfiguration festzulegen. Alle hier getroffenen Einstellungen können später leicht geändert werden.
Die Konfigurationsdatei liegt unter:
/etc/backup-manager.conf
zuerst stellt man den Pfad für das Backup ein. Default:
/var/archives
User und Gruppe lässt man am besten auf:
root
Als nächstes folgt eine Leerzeichen separierte Liste der Ordner, die mit dem TAR Backup gesichert werden sollen. Diese könnte beispielsweise so aussehen:
/var/www /var/mail /etc /home /root /var/log /var/backups
Später kann man in der Konfigurationsdatei noch eine Black-Liste definieren, um Unterordner auszuschließen.
Die Frage ob man eine der eingebauten Upload-Mechanismen des Backup-Managers nutzen will, verneint man höflich.
Um diesen Konfigurations-Assistenten nochmals durchzuführen gibt man einfach folgendes in der Shell ein:
dpkg-reconfigure backup-manager
Zur Information; Der Backupmanager trägt sich nach der Installation automatisch in /etc/cron.daily/backup-manager ein – d.h. es wird automatisch jeden Morgen ein Backup erstellt.
Nun ist die Erst-Konfiguration fertig, jetzt können wir gleich das S3Sync Ruby Tool installieren.
Der Backup-Manager besitzt zwar eine eigene Möglichkeit auf S3 hochzuladen, aber diese bekommt man nicht ohne weiteres zum Laufen…
Ruby Installation
Also lieber viel Ärger ersparen und einfach Ruby installieren:
apt-get install ruby
Und noch ‘ne Lib für Ruby, damit die SSL Verbindung zum S3 funktioniert:
apt-get install libopenssl-ruby
S3Sync Installation
Und jetzt brauchen wir natürlich auch noch das S3Sync:
cd /root wget <a title="http://s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz" rel="nofollow" href="http://s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz">http://s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz</a>
Einmal auspacken:
tar xzfv s3sync.tar.gz chmod 770 s3sync -R
Konfiguration Backup-Manager
So jetzt haben wir alles was wir benötigen geladen. Als nächsten Schritt schlage ich die Konfiguration vom Backup-Manager vor.
vim /etc/backup-manager.conf
Dieser Wert ist interessant. Damit legt man fest wie lange das lokale Backup aufbewahrt wird. Für diesen Wert sollte man die Grösse des Backups mit bedenken.
export BM_ARCHIVE_TTL="5"
Ich setze mir den Backup-Modus auf Incremental:
export BM_ARCHIVE_METHOD="tarball-incremental"
In folgender Zeile kann man eine Leerzeichen-separierte Black-Liste angeben.
export BM_TARBALL_BLACKLIST="/var/archives /root/aserver/error-dumps"
So und testen kann man den Backupmanager mit dem Aufruf – Aber Vorsicht, das erste Backup kann schon etwas länger dauern:
backup-manager -v
Klappt – gut! – weiter….
Konfiguration S3Sync
Zunächst wird die s3config ins /etc/s3conf Verzeichnis kopiert. Dieser Ordner gehört zu dem Suchpfad von S3Sync:
mkdir /etc/s3conf/ cp /root/s3sync/s3config.yml.example /etc/s3conf/s3config.yml
Nun editieren, hier trägt man die Access Keys ein, die auch in dem AWS-Account unter dem Punkt Security Credentials verwaltet werden können.
DONE!
Ein Upload funktioniert jetzt so (Bitte richtigen S3 Pfad setzen):
/root/s3sync/s3sync.rb -r /var/archives/ bucket:backups/vserver
Aussicht
So das wäre geschafft
Mein nächstes Ziel wird es sein diese Backup-Lösung auch auf mein QNAP zu portieren sowie ein MySQL Backup mit dem Backup-Manager auf S3 umzusetzen.



Pingback: Automatisches Backup zum Amazon S3 Cloud Storage — SEO, Webentwicklung & Monetarisierung
Viele Dank für diesen Informativen und gut geschriebene Artikel. Habe die Backuplösung auf meinen vServer heute ausprobiert und sie funktionier tadellos. Freue mich auf den nächsten Artikel über die Sicherung der MySQL DB!
Pingback: Teil 2: Automatisches Backup zum Amazon S3 Cloud Storage + MySQL Backup | Robert Gering
Interessante Idee! Vielleicht wäre aber auch Strato HiDrive eine preiswertere Alternative. Wenn ich den S3-Kosten-Rechner jetzt nicht falsch bedient habe, kommt bei S3 für 100 GB 20 US$ heraus (100 GB Storage, 100 GB Traffic-In). Strato will für den gleichen Speicherplatz nur 4,90 €. Einziges Manko ist die lange Vertragslaufzeit.
Bei 20 GB ist der Abstand kleiner, aber dennoch deutlich.