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 textfile
s. 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.