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.

Kategorien:

Stichwörter:

plesk · backup · restore · entpacken · archiv · datei · suchen · tar · gzip · ripmime · mpack · munpack · mutt ·