Plesk restore didn’t work

Having a 12GB Plesk backup file is all well and good except if the domain you want to restore is 7GB in size (Plesk 8.1 Linux).  The Plesk restore died every time I tried to restore this specific domain.

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

Explains 3 different methods for restoring data from the plesk backup file manually.  Method 1 was to open the file in a mail client, but, 12GB is a bit large for that. Method two suggested using munpack, which, I tried, but hit a 2GB limit and it said:

# cat DUMP_FILE | munpack
DOMAIN.TLD.httpdocs (application/octet-stream)
File size limit exceeded

So, it was time for method 3…. which was very manual and very slow.  It included grepping through the 12GB file for the tar data of httpdocs for the specific website and databases.

Something like:

# egrep -an '(^--_----------)|(testdom.com.shtdocs)' ./testdom.com_dump | grep -A1 "Content-Type"
2023:Content-Type: application/octet-stream; name="testdom.com.shtdocs"
3806:--_----------=_1163395694117660-----------------------------------------

“Increase the first line number on 2 and  subtract 1 from the second line number, then run:”

head -n 3805  ./testdom.com_dump | tail +2025  > htdocs.tar

At least with this method the site data was restored.  There wasn’t any mail to try and restore so that was fine.  Also, the previous restore had restored the databases before failing so didn’t need to extract those.

Get data out of a Plesk backup manually

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

The above URL showed 3 methods, but, went for the second.

It can be done using mpack tools to work with MIME files. This packet is included into Debian:

# apt-get install mpack

For other Linux systems you can try to user RPM from ALT Linux: ftp://ftp.pbone.net/mirror/ftp.altlinux.ru/pub/distributions/ALTLinux/Sisyphus/files/i586/RPMS/mpack-1.6-alt1.i586.rpm

or compile mpack from the sources: http://ftp.andrew.cmu.edu/pub/mpack/.

– Create an empty directory to extract the back up file:

# mkdir recover
# cd recover

and copy backup into it.By default Plesk backup is gzipped (if not, use cat), so run zcat to pass data to munpack to extract content of directories from the backup file:

# zcat DUMP_FILE.gz > DUMP_FILE
# cat DUMP_FILE | munpack

In result you get the set of tar and sql files that contain domains’ directories and databases. Untar the needed directory. For example if you need to restore the httpdocs folder for the DOMAIN.TLD domain:

# tar xvf DOMAIN.TLD.htdocs

NOTE: ‘munpack’ utility may not work with files greater then 2Gb and during dump extracting you may receive the error like

# cat DUMP_FILE | munpack
DOMAIN.TLD.httpdocs (application/octet-stream)
File size limit exceeded

In this case try the next way below.