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 target="_blank" href="http://www.pldaniels.com/ripmime/">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 target="_blank">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.