Fast jeder Shop hat eine nächtliche Sicherung. Trotzdem endet ein misslungenes Update oft in stundenlanger Handarbeit. Der Grund ist selten eine fehlende Sicherung, sondern ihre Körnung.
Ein Plugin-Update zerlegt am Vormittag die Artikelanzeige. Die Sicherung von 3 Uhr nachts ist vollständig. Sie einzuspielen würde aber alle Bestellungen, Kundenkonten und Zahlungsvorgänge des Vormittags löschen.
Also spielt niemand zurück. Man repariert von Hand, unter Zeitdruck, im Livesystem. Die Sicherung war die ganze Zeit da und war die ganze Zeit unbenutzbar.
Was gebraucht würde, ist keine Sicherung des ganzen Shops, sondern der Stand genau dieses einen Plugins von heute früh — und sonst nichts.
Viele Sicherungsroutinen erfassen nur die Datenbank, weil sie klein und schnell zu greifen ist. Ein Shop besteht aber aus beidem. Ein angepasstes Template, hochgeladene Bilder, Plugin-Dateien und Konfigurationsdateien liegen im Dateisystem.
Fehlt diese Hälfte, lässt sich der Zustand nicht wiederherstellen — die Datenbank verweist dann auf Dateien, die es nicht mehr gibt.
Der unangenehmste Fall, weil er sich nicht ankündigt. Beim Entwickeln eines Wiederherstellungswerkzeugs zeigte sich: Von 355 vorgesehenen Löschbefehlen lief kein einziger durch. Der Vorgang meldete trotzdem Erfolg.
Die Folge: 13 Tabellen ohne eindeutigen Schlüssel bekamen ihre Datensätze ein zweites Mal eingespielt und verdoppelten sich lautlos. Der Prüfshop zeigte anschließend keine Artikel mehr. Keine Fehlermeldung, kein Abbruch, keine Warnung — nur ein leerer Shop.
Die Lehre daraus ist unbequem: Ein Vorgang, der Erfolg meldet, ist damit noch nicht erfolgreich gewesen. Ein Wiederherstellungswerkzeug muss hinterher nachsehen, ob der Zustand stimmt, statt sich auf Rückgabewerte zu verlassen. Seither prüft der Systemcheck des Werkzeugs gezielt auf verdoppelte Datensätze.
Individuelle Software und Werkzeuge für Betriebe, die mit Standardlösungen an Grenzen stoßen.