Vor kurzem habe ich zwei meiner Server auf den neusten Stand gebracht und dazu einfach komplett neu installiert. Auf beiden Servern lief eine ältere Plesk Version, so dass ein Backup mit den SWsoft bereitgestellten Tools kein Problem sein sollte.

Da sich dies dann aber doch nicht als so einfach herausstellte, will ich hier mal eine kurze Anleitung (am Beispiel von naseoblog.de) geben.

Vorbereitung

Es empfiehlt sich vor dem Backup ein komplettes FTP Backup zu erstellen, um alle Dateien erstmal auf der Festplatte zu sichern, sofern dies möglich ist. Auch die SQL Datenbanken sollten exportiert werden. Warum gerade dies wichtig ist, greife ich später noch einmal auf.

Plesk bietet die zwei sehr nützlichen Tools pleskbackup und pleskrestore an, die über die Kommadozeile (zum Beispiel mit ) bedient werden können. Das Backup sichert Dateien, Datenbanken und Plesk-Einstellungen.

Ich habe mich auf Grund der Größe meiner einzelnen Projekte dazu entschlossen, für jede Domain ein einzelnes Backup anzulegen. Dies minimiert die Anfälligkeit von Fehlern, obwohl es auch mit mehr Zeitaufwand verbunden ist. Es ist nämlich genauso möglich, ein Backup für einen kompletten Kunden anzulegen.

Zunächst sollte man wissen, wo sich die beiden Tools auf dem Server befinden. In meinem Fall lagen Sie in /usr/local/psa/bin/.

Anschließend sollte man ein eigenes Verzeichnis für die Backups anlegen. Will man die Backups später herunterladen, kann man sie direkt in einem FTP Ordner anlegen, um sich den späteren Schritt des Kopierens zu sparen.

In meinem Fall lautete der Zielpfad dann: /srv/www/vhosts/naseoblog.de/httpdocs/backup/

Das Backup erstellen

Das Backup für eine einzelne Domain wird mit diesem Befehl erstellt:

/usr/local/psa/bin/pleskbackup domains naseoblog.de /srv/www/vhosts/naseoblog.de/httpdocs/backup/naseoblog.de

Das war es auch schon!

Ich habe meine Backupdatei also genau wie die Domain genannt. Anschließend kann man die Datei über FTP herunterladen, oder bei einem Serverumzug per wget

direkt übertragen.

Der Befehl um ein Backup für einen kompletten Kunden zu erstellen, lautet übrigens:

/usr/local/psa/bin/pleskbackup -v clients naseo /srv/www/vhosts/naseoblog.de/httpdocs/backups/naseoblog

(Vorrausgesetzt naseo ist der in Plesk eingetragene Kundenname)

Das Backup wiederherstellen

Das Wiederherstellen gestaltet sich etwas schwieriger.

Wenn man nur eine Domain gesichert hat, muss diese zunächst manuell in Plesk angelegt werden. Der Kunde sollte genauso heißen, wie auf dem alten Server.

Dann wechselt man in das Verzeichnis, in dem sich das Backup auf dem neuen Server befindet.

Mit diesem Befehl müssen wir nun eine Map erstellen:

/usr/local/psa/bin/pleskrestore --create-map naseoblog.de -map naseoblog.demap  

Bevor man dann das Restore startet, lohnt sich ein kurzer Blick in die Map. Mit dem vi-Editor lässt sich die Map anzeigen:

vi naseoblog.demap

In der ersten Zeile der Datei sollte der Kundenloginname in exkigen Klammern stehen. Ist dies nicht der Fall (wie bei mir auch), muss man ihn nachträglich hinzufügen, also zum Beispiel [naseoblog]. Macht man dies nicht, wird das Restore mit einem Fehler abbrechen.

Nun kann aber auch das Restore gestartet werden:

/usr/local/psa/bin/pleskrestore --restore naseoblog.de -level domains -filter list:naseoblog.de -map naseoblog.demap

Bei großen Projekten dauert dies etwas. Nach dem Abschluss sollte die Domain wieder voll hergestellt sein.

Probleme

Leider enthält eine ältere Version des Tools jedoch einen Fehler, so dass die Datenbanken zwar gesichert und wiederhergestellt werden, jedoch alle auto_increment Einstellungen verloren gehen. Jetzt gibt es zwei Möglichkeiten diese wieder herzustellen: Entweder man macht es manuell über phpmyadmin (was bei einer Typo3 Installation sehr viel Zeit in Anspruch nehmen kann) oder man stellt das zuvor manuell erstelle MySQL Backup über die Import-Funktion von phpmyadmin wieder her.

Ich habe so etwa für 30 Domains Backups erstellt und diese wieder hergestellt. Jedoch tauchten bei einigen auch unerwartete Fehler auf, so dass beispielsweise nur die Hälfte der Datenbank wiederhergestellt wurde. Hier hilft dann auch das zuvor manuell erstelle mySQL Backup.

Hat man zuvor kein manuelles Backup gemacht, so besteht noch die Möglichkeit, ein Blick in das von pleskbackup erstellte Backup zu werfen.

Bei kleineren Backups (bis 200 MB) kann man die Datei einfach entpacken:

zcat naseoblog.de > naseoblog.dedump

Die Datei naseoblog.dedump lässt sich dann mit jedem Texteditor öffnen. Im oberen Bereich findet man dann den mySQL Teil.