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.

Buggy Plesk 8.3 migration manager (migration tool)

As SwSoft, now known as Parallels, introduced an end of life policy for supporting old OSes I’ve had to migrate a number of Fedora Core machines to Ubuntu 6.06 LTS. The best way of doing this is via the migration manager from the new Plesk node. However, the migration manager will copy everything over, but, due to a bug in their code it doesn’t copy over auto_increment options in the databases. This obviously causes major issues with databases that use auto_increment that are migrated over.

The option about Mysql compatibility with the older versions was defined in Plesk Migration manager, the file is /opt/psa/PMM/agents/shared/Db/MysqlShellBackend.pm.
I have commented out the values:
root at hostname:~# cat /opt/psa/PMM/agents/shared/Db/MysqlShellBackend.pm | grep compatible
# $self->{not_compatible_mysql_323} = $params{not_compatible_mysql_323} if defined $params{not_compatible_mysql_323};
# $dumpoptions .= ” –compatible=mysql323 ” if !$self->{not_compatible_mysql_323} && $self->_mysql41OrNewer();

Comment out those two lines and Plesk database migrations should work alright.

NOTE: This should be fixed in newer Plesk 8.3 releases

a