MYSQLDumper ist ein hervorragendes Tool, wenn es darum geht eine oder mehrere MySQL-Datenbanken täglich zu sichern. Ein CRON-Skript zur Automatisierung der Datensicherung gehört zwar zum Lieferumfang von MySQLDumper, doch das Vorhaben scheitert oft an den Einschränkungen der Webspace-Provider oder der Konfiguration des Webservers.

Die folgende Lösung zeigt, wie man MySQLDumper von einem Desktop-Rechner aus mit Bordmitteln automatisieren kann, sowohl unter macOS, als auch unter Windows.

MySQLDumper per Browser automatisieren

MySQLDumper schützt sein Verzeichnis vorbildlich über ein HTAccess-Passwort. Das allerdings ist ein Problem, wenn man das PHP-Script zur Datensicherung über den Browser automatisieren möchte. Entweder muss man das Passwort im Browser speichern oder der Vorgang bleibt unweigerlich beim Login-Screen hängen.

Username und Passwort für die HTTP Authentication lassen sich auch mit der URL übermitteln – ideal für Automatisierungsaufgaben. Man verwendet dazu folgendes Format:

Die o.g. URL setzt sich aus folgenden Teilen zusammen:

  • http:// oder https:// als Protokollbezeicher
  • Username und Passwort durch Doppelpunkt getrennt
  • Nach dem @ folgt dann die normale URL zum Aufruf des PHP-Backup-Skripts:
    domain.de/dumper/dump.php
  • Nach dem Fragezeichen folgt ein Parameter mit dem Namen des Backup-Profils aus MySQLDumper: config=profilename

Nach Aufruf der URL startet MySQLDumper direkt mit der Datensicherung.

Da wir bei dieser Art der Browser-Automatisierung keine Rückmeldung vom Browser erhalten, muss eine entsprechende Warteschleife eingebaut werden und zwar so lange, wie der Vorgang ungefähr dauert. Danach sollte der Browser automatisch beendet werden.

macOS: MySQLDumper per Skript fernsteuern

Zusammengefasst sieht die Lösung unter macOS und Safari wie folgt aus:

Damit Safari Authentifizierungs-Daten in einer URL akzeptiert, muss zuvor die folgende Option ausgeschaltet werden:

safari-basic-authentication

Windows: MySQLDumper automatisieren

Die Lösung für Windows basiert auf Google Chrome und funktioniert nach dem gleichen Prinzip:

Da MySQLDumper die Datenbanken auf dem Webserver selbst sichert, sollten diese anschliessend am besten mit allen Dateien der Website zusammen lokal heruntergeladen werden. Hierzu bietet sich z.B. eine Lösung basierend auf LFTP an (der Artikel beschreibt die Synchronisation von Server zu Server. Der Vorgang ist jedoch der Gleiche zwischen Server und Client).

mysqldumper-umlauteMySQLDumper: Backup wiederherstellen und das Umlaute-Problem

An dieser Stelle noch ein Tipp, falls eine Datensicherung ohne MySQLDumper wiederhergestellt werden muss:

Normalerweise entpackt man das Backup-Archiv und liest es z.B. über PHPMyAdmin wieder ein. Oft sind dann aber Umlaute und andere Sonderzeichen “zerschossen”. Der Grund dafür: MySQLDumper kodiert die Datensicherung in “Latin-1”. Datenbankserver liefern jedoch die Daten meist in “UTF-8”.

Abhilfe schafft hier iconv. Es ist auf jedem Mac vorinstalliert und kann unter Windows z.B. über Cygwin, die Ubuntu-Shell unter Windows 10 oder den unten stehenden Link nachinstalliert werden.

Der folgende Befehl wandelt eine Datensicherung von MySQLDumper entsprechend um. Die korrigierte Datei wird unter out.sql gespeichert:

Mehr zu MySQLDumper findet ihr hier

Iconv Binary für Windows installieren