Erste Gedanken zum Backup und Restore für unser Newssystem
26. März 2009 Roland
- Erstellen eines Newssystems
- Akteure im Newssystem
- Newssystem Anwendungsfälle für den Systemadministrator
- Newssystem Anwendungsfälle für den Editor
- Newssystem Anwendungsfälle Zusammenfassung
- Newssystem Anwendungsfälle Webuser
- Anwendungsfall Add Category
- Anwendungsfall Add Editor to Category
- Anwendungsfall Change Editor
- Nebenläufigkeiten beim Editieren von Newseinträgen
- Anwendungsfall Create Editor
- Anwendungsfall Delete Category
- Anwendungsfall Delete Editor
- Anwendungsfall Edit Category
- Anwendungsfall Remove Editor From Category
- Anwendungsfall Show Editors
- Anwendungsfall Show Categories
- Anwendungsfall Add Image to Newsentry
- Anwendungsfall Create Newsentry
- Anwendungsfall Delete Image
- Anwendungsfall Delete Newsentry
- Anwendungsfall Edit Image Data
- Anwendungsfall Edit Newsentry
- Anwendungsfall Navigate in Newslist
- Anwendungsfall Remove Image from Newsentry
- Anwendungsfall Search Image
- Anwendungsfall Search News
- Anwendungsfall Set Presentation Times
- Anwendungsfall Upload Image
- Anwendungsfall Navigate Archive News Shortentries
- Anwendungsfall Navigate Shortentries
- Anwendungsfall Show Archive Newsentry
- Anwendungsfall Show Newsentry
- Anwendungsfall Show Shortentries
- Aufbereiten der bisherigen Anwendungsfälle
- Technische Anwendungsfälle
- Nebenläufigkeiten beim Lesen von Newseinträgen
- Lasst uns mal über Performancemessung reden
- Erste Gedanken zum Backup und Restore für unser Newssystem
- Zwischenschicht zur Performancemessung einbauen
- Performancemessungen ein- und ausschalten
- Performance Messung auf dem Server durchführen
- Newssytem Daten Modellieren
- Anwender Aktionen loggen
- Geschäftsmodelle erkennen
- ImageModel Beschreibung
- Installierbarkeit des Newssystems
- Housekeeping im Newssystem
- Anwendungsfall SearchNotUsedImages
- UserModel Beschreibung
- Meldungsverwaltung und Severity Bestimmung im Newssystem
- UserModelFactory
- Einsatz eines Frameworks für die Erstellung des Newssystems
- Ist das Newssystem einfach nur eine View auf eine Blogsoftware?
- Factory- und Adapter Pattern für die Erweiterung von WordPress
- Wieso will ich das Newssystem nicht als WordPress Plugin erstellen?
- Newssystem gesundschrumpfen
- Wer sind unsere Kunden für das Newssystem?
- Requirements für Newssystem erfassen
- Rahmenbedingungen für das Newssystem
- Entscheidung wie das Newssystem jetzt umgesetzt werden soll
- Welche Tools können wir zur Anforderungsverwaltung einsetzen?
- Verwalten der Anforderungen
- Namensänderungen im Newssystem Modell
- Ein Tool für die Anforderungen
- Komponenten die im ersten Sprint umgesetzt werden sollen
- Auf der Suche nach einem Tool um Anforderungen zu erfassen
- Security fummelt man am Besten gleich in die Architektur hinein
- Security Komponenten Klassendiagramm
- wie schrumpft man das System Gesund?
Wenn wir über weitere technischen Anwendungsfälle nachdenken, sollten wir uns überlegen wie wir in unserem System die Nutzdaten sichern wollen.
Stell dir folgendes Szenario vor:
Unser Newssystem wird auf einem Webserver irgendwo bei einem Internet Service Provider (ISP) aufgesetzt. Eines schönen Tages stirbt unsere Festplatte.
Wenn wir gar keine Backups von den Daten haben, müssen wir zittern und hoffen dass unser ISP tägliche Sicherungen laufen lässt und diese nach dem Crash auch wieder einspielen kann.
Die meisten ISPs bieten so etwas an.
Es gibt aber auch den Fall, dass der ISP dies nicht macht. Dann sollten wir uns über ein Konzept einig werden wie wir unsere Daten sichern können.
Ideen zum Backup und Restore
Was für Möglichkeiten haben wir?
Datenbanken sichern
Wenn wir unsere Nutzdaten in einer Datenbank abgelegt haben, können wir ein Datenbankscript schreiben dass alle paar Stunden die Änderungen ausliest und auf einen anderen Server kopiert. Das ist sicherlich eine gute Idee.
Verzeichnisse mit RSync sichern
Bei unserem Newssystem haben wir auch noch Bilder, die vermutlich in einem oder mehreren Verzeichnissen herumliegen. Mit rsync können wir diese Bilder schnappen und jeden Tag die geänderten Bilder auf einen anderen Server abgleichen.
Weiterhin haben wir noch die Sourcen irgendwo rumliegen. Das bedeutet, dass unsere aktiven Programmteile auch noch gesichert werden sollten. Oder wir speichern die in einem Subversion und stellen sicher, dass wir jederzeit die aktuellen und richtigen Sourcen wieder einspielen können.
ISP nach Möglichkeiten fragen
Wenn wir unser System irgendwo installieren, können (und sollten) wir auch unseren ISP fragen was für Möglichkeiten vorhanden sind. Eventuell hat er super dupper Tools die uns die Arbeit sehr erleichtern werden.
Ok, den Backup haben wir. Ist jetzt alles gut?
Leider nein. Wir sollten uns über ein Konzept einig werden wie wir die gesicherten Daten regelmässig auf funktionalität testen können.
Ich musste einmal in einer Firma miterleben, dass wir jeden Tag ein Backup durchgeführt haben und unsere Bänder auch schön in einem Safe irgendwo anders abgelegt haben.
Nach ein paar Monaten wollten wir mal die Bänder “aus Spass” zurückspielen. Und da stellten wir fest, dass da zwar schön viele Daten drauf waren aber leider keine einzige Datei noch verwendet werden konnte.
Ein anderes Mal waren die Bänder einfach leer.
Solange nichts passiert kann man darüber lachen und alles ist gut. Wenn was schief geht, sind die Daten futsch und du bist der Dumme.
Restore durchführen
Wir müssen also hin- und wieder einen Restore durchführen und kontrollieren ob noch alles läuft.
Das bedeutet im Idealfall, dass wir die Produktionsmaschine neu aufsetzen und schauen ob noch alles läuft. Dies bedeutet wiederum dass wir mit Wartungszeiten und Dienstunterbrüchen umgehen können müssen.
Und deshalb braucht es ein Restore Konzept mit dem wir genau festlegen wann, wer und wie wir unseren Restore durchführen.
Vermutlich brauchen wir auch noch Helfersoftware, die unsere Arbeiten beim Backup und Restore unterstützen. Meistens ist es eine schlechte Idee, wenn man einfach mal einen Backup und ein Restore “von Hand” durchführt…
Der Beitrag wurde
am Donnerstag, den 26. März 2009 um 15:57 Uhr veröffentlicht
und wurde unter Programmieren abgelegt.
Kurzlink: http://www.baldenhofer.eu/blog/?p=752
Dir gefiel der Artikel? Dann abonniere doch den RSS Feed![]()
Du kannst die Kommentare zu diesem Eintrag durch den RSS 2.0 Feed verfolgen. Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.








