Safety first

Teil 2: Tipps & Tricks: Websites sichern

  1. Tipps & Tricks: Websites sichern
  2. Teil 2: Tipps & Tricks: Websites sichern

Das Sichern über phpMyAdmin ist Handarbeit und für regelmäßige Sicherungen unpraktisch. Hierfür bietet sich das automatisierte Erstellen eines Dumps an. Basis ist hier das Anlegen des Dumps per Konsole bzw. Eingabeaufforderung. Die Syntax ist sehr einfach:

Safety first

© Archiv

Wählen Sie eine Dump-Datei zur Rücksicherung.
mysqldump —user=Benutzername —password= 
Passwort Datenbankname >dump.sql

Optional können Sie noch eine Liste der Tabellennamen hinter dem Datenbanknamen angeben. Und auch das Komprimieren des Dumps in einem Archiv können Sie direkt in der Anweisung erledigen:

mysqldump —user=Benutzername 
.—password=Passwort Datenbankname | 
.gzip >dump.sql.gz

Wenn Sie auf Nummer sicher gehen wollen, sperren Sie die Tabellen beim Erstellen des Dumps mit der Option —lock-tables. Ansonsten kann es passieren, dass gerade von Nutzern in die Datenbank geschrieben wird, während Sie die Sicherung vornehmen. Dadurch sind unter Umständen einzelne Tabellen im Dump inkonsistent. Diese Gefahr ist vor allem bei Websites mit vielen Besuchern und häufiger Nutzerinteraktion hoch. Das Sperren und Sichern sollten Sie in diesem Fall aber in Zeiten machen, in denen die Site nicht stark frequentiert ist.

Diesen Kommandozeilenaufruf können Sie auf einem Linux-basierten Webserver mit einem CronJob wiederholt ausführen. Unter Windows gibt es mit dem Systemdienst Schedule ähnliche Möglichkeiten. Die meisten Hoster bieten in ihren Kundenmenüs Eingabemasken, um das Erstellen von CronJobs zu erleichtern. Sollten Sie bei einem dedizierten Server komplett auf sich gestellt sein, helfen viele Tutorials weiter, z. B. unter:

www.selflinux.org/selflinux/html/cron.html

www.newbie-net.de/anleitung_cron.html.

Zurück auf den Server

Die Sicherung alleine reicht allerdings gerade bei Datenbanken nicht, um sich sicher zu fühlen. Sie müssen die Daten auch zurücksichern können. Am besten ist es, wenn Sie die notwendigen Schritte vorab dokumentieren. Damit Sie dabei keine bösen Überraschungen erleben, sollten Sie die Rücksicherung regelmäßig testen und auch den jeweils erstellten SQL-Dump überprüfen. Sie sollten feststellen, ob alle Tabellen enthalten sind - am besten versuchen Sie auf dem lokalen Entwicklungsrechner eine entsprechende Rücksicherung. Per phpMyAdmin können Sie eine leere Datenbank auswählen oder eine neue Datenbank erstellen. Anschließend gehen Sie auf Importieren und wählen die Datei mit dem Dump. Gepackte Dateien lassen sich im Normalfall dank automatischer Erkennung direkt importieren. Weiterhin sollten Sie den Zeichensatz korrekt angeben. Sie finden ihn in der Datenbankverwaltung der Originaldatenbank.

Safety first

© Archiv

Probleme

Meistens klappt die Rücksicherung problemlos, allerdings nur meistens. Das häufigste Problem ist die Dateigröße des Dumps bzw. die maximale Ausführzeit für PHP-Skripte. Diese Probleme entstehen vor allem beim Einsatz von phpMyAdmin.

Safety first

© Archiv

Der SQL-Dump wird ausgegeben.

Für die optimale Ausführzeit können Sie beim Importieren in phpMyAdmin einen teilweisen Import wählen. Dann startet der nächste Import erst nach einer festgelegten Anzahl an Abfragen. Beim Abbruch vorher erfahren Sie, wie viele Abfragen ausgeführt wurden. Eine Alternative ist, selbst den SQL-Dump in einem Texteditor in mehrere Teile zu unterteilen. Bei vielen Systemen, z. B. bei Typo3, gibt es auch Tabellen für Caching und Ähnliches, deren Inhalte nicht gesichert werden müssen.

Ein weiteres Problem können ältere MySQL- oder auch phpMy- Admin-Versionen sein. Hier gibt es beim Export die Möglichkeit, Kompatibilitätsangaben vorzunehmen. Beispielsweise können Sie einen MySQL 4.0-kompatiblen Dump erstellen. Aber auch SQL-Code, der für Microsoft SQL-Server oder PostgreSQL funktioniert, lässt sich automatisch generieren.

Wenn Sie den Dump per Konsole wieder einspielen möchten, vermeiden Sie zumindest die Probleme mit der Ausführungszeit:

cat dump.sql | mysql —user= 
.Benutzername —password Datenbankname

Sie werden dann noch nach Ihrem Passwort gefragt und benötigen als Basis natürlich auch eine leere Datenbank.

E-Mail

Um die Dump-Datei und auch andere Dateien regelmäßig zu sichern, bietet sich der Versand per E-Mail an. Die Dateien müssen dabei als Dateianhang angefügt werden, da ansonsten Probleme mit dem Zeichensatz entstehen können. Für den Versand als E-Mail sind entsprechende Tools erforderlich.

Safety first

© Archiv

Für die Konsole bieten sich als Alternativen z. B. "mutt" oder "MetaMail" an. Mit mutt würden Sie einen Dump z. B. wie folgt verschicken:

echo "Text der Nachricht" | mutt -s 
."Sicherung DB" -a dump.sql.tgz 
.empfaenger@domain.de

Mit MetaMail könnte der Versand wie folgt aussehen:

metasend -b -t empfaenger@domain.de 
.-s "Sicherung DB" -m application/ 
.octet-stream -f dump.sql.tgz

Wer keinen Zugriff auf die Kommandozeile hat, kann auch den Versand per PHP oder einer anderen Server-seitigen Technologie vornehmen. Hier ein einfaches Beispiel, das die PEAR-Klassen Mail und Mail_Mime verwendet (http://pear.php.net):

<?php 
include(‘Mail.php‘); 
include(‘Mail/mime.php‘); 
$message = new Mail_mime(); 
$message->setTXTBody("Text der 
.Nachricht"); 
$message->addAttachment 
.("dump.sql.gz"); 
$body = $message->get(); 
$extraheaders = array("From" =>
."me@example.com", "Subject" =>
."Sicherung DB"); 
$headers = $message->headers 
.($extraheaders); 
$mail = Mail::factory("mail"); 
$mail->send("somebody@example.com", 
.$headers, $body); 
?>

Aus Sicherheitsgründen bietet es sich beim Versand per E-Mail natürlich an, die Daten zu verschlüsseln, z. B. kann hier per PHP-Skript direkt die Dump-Datei verschlüsselt werden oder man verwendet eine E-Mail-Verschlüsselung per GPG.

Zum Automatisieren lassen sich in allen drei Fällen natürlich wieder CronJobs verwenden, die die Konsolenanweisungen ausführen oder in regelmäßigen Abständen das PHP-Skript zum Versand aufrufen.

Mehr zum Thema

festplatte, hardware, pc, hdd
Gelöschte Dateien wiederherstellen

Wir zeigen Ihnen, wie Sie verloren geglaubte Daten retten können - etwa mit dem kostenlosen Tool Recuva.
Windows 10 Sicherheit: Symbolbild
Computer ohne Werbung

Wir zeigen, wie Sie Adware vermeiden, damit Sie sich im Anschluss an die Installation nicht mühsam entfernen müssen.
Sicherheit im Urlaub
Diebstahlschutz, offene WLANs und Co.

Diebstahlschutz für Smartphones, Schutz in offenen WLANs und Co: Worauf Sie beim Reisen achten sollten, um böse Überraschungen zu vermeiden.
Facebook-Betrug mit Fake-Profilen
Gefälschte Facebook-Konten

Betrüger nutzen gefälschte Facebook-Profile, um Geld zu ergaunern. Wir zeigen, wie Sie sich und auch Ihre Facebook-Kontakte gegen die Betrugsmasche…
Festplatte Verschlüsselung
Windows

Wir vergleichen den mittlerweile eingestellten Marktführer TrueCrypt mit dem Nachfolger Veracrypt und der Alternative Bitlocker.