Tipps zu Backups / Sicherungen

Empfehlungen zur Handhabung von Datensicherungen und der Datenwiederherstellung.

Backups stellen ein wichtiges Werkzeug bei Datenverlust und Zugriff auf ältere Versionsstände dar. Je nach Projekt und anderen Kriterien muß jeder für sich die richtige Backup-Strategie finden. Die Hinweise in diesem Artikel stellen daher keine generelle Richtlinie, sondern allgemeine Empfehlungen für die Handhabung von Datensicherungen dar.

Weblication® CMS bietet unter den Werkzeugen (Backup) die Möglichkeit, von einem Projekt bzw. einem Verzeichnis eine Sicherung anzulegen und auch wiederherzustellen. So kann in gewissen Zeitabständen eine Sicherung der gesamten oder Teilen der Präsenz gemacht werden und lokal aufbewahrt werden. Dies ist vor allem dann zu empfehlen, wenn häufig Änderungen stattfinden und beim Provider selber keine Backups vorgehalten werden (oder als Ergänzung zu den Provider-Sicherungen).

Prüfen Sie nach Erstellen eines Backups immer, ob die erstellte Sicherung (TGZ oder ZIP) korrekt gepackt worden ist (siehe wichtige Hinweise unten)!

Erstellen von Backups / Sicherungen

Ein Backup eines Projektes oder Verzeichnisastes erstellen Sie über das  Backup-Werkzeug in Weblication®. Vergewissern Sie sich am besten vor Anlegen des Backups, ob TAR unterhalb der Domain genutzt werden kann (siehe auch nachfolgende Tabelle). Über TAR erstellen Sie in der Regel weitaus schneller und auch komprimierter ein Archiv des gewünschten Verzeichnisses.

Alternativ zum Weblication® CMS Backup-Werkzeug können Sie natürlich auch auf die vom Provider erstellten nächtlichen Sicherungen zurückgreifen oder unabhängig von Weblication® ein Backup über eigene Skripten (PHP, Perl, etc.) bzw. die Shell vornehmen.

Bedenken Sie, daß eine Sicherung nur dann wirklich Sinn macht, wenn diese nach Erstellen zusätzlich auf einem weiteren Server (z.B. lokaler Rechner) gesichert und auf Korrektheit überprüft wurde (siehe auch unten: Wichtige Hinweise)!

Führen Sie vor Erstellen eines Backups eine Projektbereinigung (siehe weiterführende Links unten) durch und löschen Sie den Projekt-Cache. So können Sie die Backup-Archive teils erheblich in der Größe reduzieren.
Zudem sollten Sie sicherstellen, daß noch genügend freier Webspace innerhalb Ihres Hosting-Paketes bzw. auf dem Server verfügbar ist. In der Regel können Sie das über das Kundenmenü des Providers einsehen.
Prüfen Sie zuvor auch, ob ggf. viele alte Log-Dateien im globalen Projekt abliegen (/[IHR-LAYOUT-PROJEKT]/wGlobal/logs/...), welche ggf. vorher gelöscht werden können. Ab CMS-Version 10.x können Sie in den Systemeinstellungen festlegen, nach wieviel Tagen Log-Dateien gelöscht werden sollen, um so zusätzlich Speicherplatz zu sparen (in älteren CMS-Versionen kann dies manuell eingestellt werden).

Sofern Sie eine automatisierte Backup-Lösung wünschen, können Sie dies individuell umsetzen. Eine Möglichkeit ist der direkte Weg über die Shell oder der Einsatz eines PHP-Skriptes, welches Sie z.B. über einen Cronjob in bestimmten Intervallen anstossen. Bedenken Sie dabei aber, daß es immer genügend Speicherplatz auf dem Server geben muss.
Die in /weblication/grid5/backup abliegenden Backup-Archive sind übrigens nach diesem Schema aufgebaut (Beispiel bei z.B. /de Verzeichnis):
backup_de_2018_11_30_08_07.tgz (bzw. .zip als Endung)

Probleme beim Erstellen von Backups?

Nachfolgend finden Sie uns bekannte Probleme beim Anlegen von Backups und Lösungsmöglichkeiten hierzu.

Führen Sie vor Erstellen eines Backups auf jeden Fall eine Projektbereinigung des zu sichernden Projektes durch, damit z.B. temporäre Dateien, Thumbnails, etc. das Backup-Archiv nicht unnötig belasten. Nach der Projektbereinigung sollten Sie dann noch den Projekt-Cache der Inhaltsprojekte löschen, damit der Seitencache mit den neu zu generierenden Thumbnails erneuert werden kann.

Problembeschreibung

Lösung

Nach Klick auf "Backup erstellen" oder die Schnellauswahl startet der Prozeß der Backuperstellung nicht.

Häufigste Ursache ist das Fehlen der erforderlichen Funktionen und Module zum Packen bzw. Entpacken von Archiven über die PHP-Umgebung.
Versuchen Sie es zuerst mit Aktivieren des Parameters "Backups über TAR erstellen" in den Systemeinstellungen, sofern TAR auf dem Server verfügbar ist (siehe Serverinformationen). Auf einem Server mit Betriebssystem Unix/Linux erreichen Sie in der Regel eine bessere Performance beim Backup, wenn Sie dies auf TAR einstellen (siehe weiterführende Artikel unten)!
Sollte TAR nicht vorhanden sein, aktivieren Sie den Parameter "PHP-eigene Funktionen zum Packen von Archiven verwenden" in den Systemeinstellungen.
Scheitert auch dies, stellt Weblication® mit der externen Anwendung pclzip eine weitere Möglichkeit zur Verfügung, Archive zu Packen und Entpacken. pclzip können Sie über die Serverinformationen als Paket / Datei installieren. Dies ist zwar meist nicht so performant wie die PHP eigenen Funktionen oder TAR, aber zumindest eine gute Alternative.

Der Prozeß zur Erstellung eines Backups wird nicht beendet.

Je nach Größe des zu sichernden Verzeichnisastes (ggf. auch wegen zu großer Anzahl an Dateien) kann es ggf. mehrere Minuten dauern, bis ein Backup komplett erstellt werden konnte. Sollte nach ca. 15 Minuten ein Backup noch nicht erstellt sein, hat dies in den meisten Fällen die Ursache in der PHP-Umgebung des entsprechenden Servers (PHP Skriptlaufzeiten, Arbeitsspeicher, etc.) oder der Speicherplatz des Hostingpaketes (Webspace) nicht mehr ausreichend ist, womit die Backup-Erstellung wegen Skript-Timeouts abgebrochen wurde.
Normalerweise erhalten Sie dann auch diese Meldung:

Das Backup konnte nicht erstellt werden. Wahrscheinlich wird nicht genügend Speicher oder Skriptlaufzeit zur Verfügung gestellt. Prüfen Sie in den Systemeinstellungen auch, ob ggf. TAR oder PCL-Zip oder die Systemeigenen PHP-Archiv Funktionen aktiviert werden müssen.

Ggf. helfen schon die in Weblication® möglichen Systemeinstellungen (siehe weiterführende Links unten). Ansonsten haben Sie entweder die Möglichkeit, die PHP-Performance dahingehend im bestehenden Hosting-Paket oder über ein leistungsstärkeres Paket zu erhöhen oder Sie legen Backups über die vom Provider zur Verfügung gestellten Werkzeuge (Controlpanel, Shell, etc.) an.
Die Performance unter PHP ist meist in aktuellen PHP-Versionen erheblich besser, weshalb Sie in erster Linie prüfen sollten, welche PHP-Version für die Domain aktiviert ist und diese ggf. auf eine aktuelle PHP-Version umstellen. Zudem sollten Skript-Laufzeit (max_execution_time) und Arbeitsspeicher (memory_limit) entsprechend erhöht werden.

Wiederherstellen von Backups

Über Weblication® erstellte Backups können Sie komfortabel über das  Backup-Werkzeug  wiederherstellen, um einen Datenrücksicherung vorzunehmen. Dazu müssen Sie auf das Wiederherstellungssymbol zum entsprechenden Backup in der Backup-Übersicht klicken. Es erfolgt die Rückfrage "Durch das Wiederherstellen gehen die aktuellen Daten verloren! Soll das Backup wiederhergestellt werden?", welche Sie mit JA bestätigen.

Bedenken Sie, daß beim Wiederherstellen der Inhalt des aktuellen Verzeichnisses, der vom Backup angesprochen wird (z.B. /de) gelöscht wird und durch die Inhalte des Backup-Archives ersetzt wird. Sicherheitshalber können Sie vor einer Wiederherstellung auch nochmals ein aktuelles Backup des betreffenden Verzeichnisses anlegen.

Probleme beim Wiederherstellen von Backups?

Nachfolgend finden Sie uns bekannte Probleme beim Wiederherstellen von Backups und Lösungsmöglichkeiten hierzu.

Problembeschreibung

Lösung

Ein Wiederherstellung hat keine Daten angelegt.

Prüfen Sie das zugrundeliegende Backup darauf, ob das Archiv unbeschädigt ist (siehe hierzu auch Wichtige Hinweise unten).

Ein Wiederherstellung hat Daten angelegt, aber die Seiten sind nicht aufrufbar.

Backups werden beim Anlegen in der Regel immer mit den Rechten des Quellservers angelegt und so auch auf dem neuen Server entpackt.
Sofern auf dem alten Server weniger Rechte ausgereicht haben (z.B. bei Domainfactory chmod 640 für Dateien und 750 für Verzeichnisse), kann es sein, daß dies auf dem neuen Server nicht ausreicht (z.B. bei 1und1 / IONOS ist ein chmod 644 für Dateien und 755 für Verzeichnisse erforderlich). Ersichtlich ist dies meist durch einen Fehler 403 (Zugriff nicht erlaubt), welcher direkt oder zumindest in der Browserkonsole ersichtlich ist. Setzen Sie dann die Rechte entsprechend hoch (z.B. über ein Skript oder über die Shell bzw. den Provider).
Ab CMS-Version 16 können Sie die Berechtigungen auch über das Backup-Werkzeug zum Archiv setzen.

Wichtige Hinweise im Umgang mit Backups

  • Ausreichende Skriptlaufzeit und Arbeitsspeicher für PHP-Skripten
    Je nach Größe und Menge der zu sichernden Verzeichnisstruktur ist umso mehr Performance für PHP-Skripten erforderlich!
  • Ausreichend Speicherplatz im Webspace der Domain / Subdomain
    Die Erstellung eines Backups erfordert  in der Regel mindestens doppelt so viel Speicherplatz als das zugrundeliegende zu sichernde Verzeichnis!
  • Prüfen Sie nach Erstellen eines Backups immer, ob die erstellte Sicherung (TGZ oder ZIP) korrekt gepackt worden ist! Laden Sie hierzu das jeweilige Backup durch Klick auf das Disketten-Symbol herunter und prüfen Sie das Archiv. Sollten Probleme beim Lesen/Öffnen des Archives bestehen, konnte das Backup nicht erfolgreich erstellt werden. Meist ist Ursache zu wenig Speicherplatz unter der Domain oder sonstige Webserverprobleme.
  • Archive mit einer Dateigröße von 2 GB oder mehr können fehlerhafte Ausgaben zu Archiv-Eigenschaften führen (siehe auch Artikel auf php.net).
    Wortlaut:
    "Weil PHPs Integer Typ vorzeichenbehaftet ist und viele Platformen 32bit Integer verwenden, können einige Dateisystem-Funktionen für Dateien größer als 2GB unerwartete Ergebnisse liefern."