Admin- / ISP-Software » Plesk

ID #1236 Plesk-Backup: einzelne Dateien extrahieren

Problem:

Plesk stellt eine kompfortable Backup-Methode zur Verfügung. Leider packt es alles in ein eigenes Format, welches nicht mit normalen Commandozeilen-Parametern zu öffnen ist.
Probleme entstehen spätestens, wenn mal eine solche Datei leicht beschädigt wurde, oder mit der aktuellen Plesk-Version nicht mehr kompatibel ist oder man einfach nur eine einzelne Datei daraus haben will, ohne das gesammte Backup wieder einzuspielen.

Erklärung:

Die Backup-Dateien finden sich unter /var/lib/psa/dumps/DOMAIN.TLD/ und sind mit Datum und Uhrzeit markiert. Wenn man sich solch eine Datei mal ansieht, so erkennt man vieleicht Ähnlichkeiten mit dem elm-Format von Emails. Und so ist es auch! Im Header befinden sich einige System-Informationen alle weiteren Dateien sind im MIME-Format abgelegt. Dabei ist lediglich die erste Datei im lesbaren XML-Format und enthält die Plesk-Einstellungen der Domain und die nötigen Parameter für den Restore. Alle anderen sind Base64/uuencode codiert.

Lösung für Plesk 7.x:

Zum "entpacken" brauchen wir das Paket ripmime:

#ab ins Source-Verzeichnis
cd /usr/local/src #Donwload und entpacken wget http://www.pldaniels.com/ripmime/ripmime-1.4.0.6.tar.gz
tar -xzf ripmime-1.4.0.6.tar.gz
#kompilieren und installieren: cd ripmime-1.4.0.6/
make
make install
#Symlink ins Verzeichnis /usr/bin/ setzen: ln -s /usr/local/bin/ripmime /usr/bin/ripmime

Entpacken:

Wir legen noch ein Verzeichnis an und dann geht's los:

#Verzeichniswechsel zum Backup-File (z.B.:)
cd /var/lib/psa/dumps/DOMAIN.TLD
#Verzeichnis zum entpacken erstellen:
mkdir backup_dir
#Bei neuerer Pleskversion (>= 8.1) sind die Dateien noch gezipped:
gzip -d -c DOMAIN.TLD_BACKUP-DATUM | ripmime -i - -d backup_dir/
#Bei älteren Pleskversion nimmt man direkt ripmime:
ripmime -i DOMAIN.TLD_BACKUP-DATUM -d backup_dir/

Nun hat man im Verzeichnis backup_dir einige textfiles. Diese kann man sich nacheinander ansehen, aber ich verrate schon mal soviel:
textfile0 enthält nichts wesentliches
textfile1 ist die o.g. XML-Datei
textfile2 & textfile3 enthalten Zertifikate
textfile4 und der Rest sehen nach Datenmüll aus.
Ist es aber nicht! Ein tar tzf textfile4 bringt Licht ins Dunkel.
Es sind also tar.gz-Dateien. Aber Vorsicht: Manche Dateien sind nicht getared sondern nur gezipped. Aber das merkt man daran, daß tar dann entsprechend meckert.

Lösung für Plesk 8 & 9:

Alternativ zu Ripmime nutzen wir nun das Tool munpack, welches sich bei Debian z.B. im Paket mpack versteckt. Es kann aber genauso oben mit munpack gearbeitet werden oder hier mit ripmime.

#Verzeichnis wechseln und eigenes erstellen:
cd /var/lib/psa/dumps/
mkdir files
cd files
#Entpacken:
zcat ../DOMAIN.TLD_BACKUP-DATUM.gz | munpack

Nun liegen die einzelnen Files sauber benannt vor uns.
Es gilt weiterhin, daß einige Dateien (z.B. .htdocs) getart sind. Sich also nur mit tar xf DOMAIN.TLD.htdocs auspacken lassen.

Weitere Lösung:

Sollte das Backup-File etwas kleiner ausfallen, so kann man es auch mit einem Mail-Client öffnen:

#Auspacken mit gzip
cd /var/lib/psa/dumps/
zcat DOMAIN.TLD_BACKUP-DATUM.gz > DOMAIN.TLD.dump
#öffnen mit mutt
mutt -f DOMAIN.TLD.dump

Die einzelnen Dateien liegen als Attachments an der "Email" vor und können nun in ein beliebiges Verzeichnis gespeichert werden.

 

sozial Bookmarking
Bookmarken bei YIGG Bookmarken bei Mister-Wong Bookmarken bei Icio Bookmarken bei del.icio.us Bookmarken bei Technorati Bookmarken bei Furl Bookmarken bei Spurl Bookmarken bei Yahoo Bookmarken bei Google

vom 2007-05-16 10:24, zuletzt 2009-01-02 10:34     Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen

Dieser Inhalt ist unter der Creative-Commons Lizenz lizensiert.

Probleme bitte im Server-Support-Forum diskutieren.

überflüssig 1 2 3 4 5 wertvoll  
Durchschnittliche Bewertung:   4.33 von 5 (9 Bewertungen)

Artikel kommentieren

Kommentar von sebis (2007-06-12 01:43:32):
Evtl. könnte noch das Entpacken der Datenbanken ganz nützlich sein:

mv textfileXX textfileXX.gz
gzip -d textfileXX.gz

Schon hat man die Datenbank im sql-Format.

Kommentar von Roger Wilco (2007-08-23 17:31:31):
Kleiner Fehler in der Anleitung. Zum Umleiten des gzip Outputs an ripmime ist folgendes Kommando nötig:

gzip -d -c DOMAIN.TLD_BACKUP-DATUM | ripmime -i - -d backup_dir/

Mit dem im Artikel genannten ">" würde eine Datei namens "ripmime" mit dem Output von gzip erzeugt. Das kann bei wenig Festplattenspeicher ziemlich nach hinten losgehen...

Kommentar von Cognac (2008-02-01 17:53:52):
Die Anleitung ist soweit so gut. Allerdings habe ich nicht nur die angegebenen Textfiles, sondern noch meine ganzen Subdomains in Ordnern wie sub.domain.de.htdocs
Darin befinden sich dann alle Dateien der Subdomain. Mit Kate kann ich es zwar lesen, aber ich hätte dann doch lieber die Dateien in der Verzeichnisstruktur. Gibt es keine Möglichkeit mit gzip/ripmime komplett alles auf einzelne Dateien zu entpacken? oder alle *.htdocs auf einmal zu entpacken? Und überhaupt, wie entpacke ich die *.htdocs? gzip meckert wg fehlender Endung, tar bricht ab wg angebl. altem Base64 Format.

Kommentar von Whiz (2009-01-02 07:08:52):
Ich finde den hier beschriebenen Weg sehr umständlich. SWSoft hat einen meiner Meinung nach einfacheren und effektieveren Weg:

http://kb.parallels.com/en/1757

Schritt 2 entpackt die Backup Datei, danach lässt sich mit tar mühelos die jeweiligen Files entpacken. Zum Beispiel die httpdocs ordner.