Article ID: 1757, created on Jan 28, 2009, last review on May 8, 2014

  • Applies to:
  • Plesk

Résolution

I. PREMIERE METHODE :

Si vous n'avez pas de trop gros fichiers dump, 100-200 Mo par exemple, vous pouvez les dézipper et les ouvrir dans tout client de messagerie locale. Les chemins d'accès au dump seront indiqués en pièces jointes. Choisissez et enregistrez celui dont vous avez besoin puis dézippez-le.

II. DEUXIEME METHODE :


Cela peut être effectué à l'aide des outils mpack pour utiliser les fichiers MIME. Ce paquet est inclus dans Debian :     
# apt-get install mpack
Pour les autres systèmes Linux, vous pouvez essayer d'utiliser le RPM à partir de ALT Linux :

ftp://ftp.pbone.net/mirror/ftp.altlinux.ru/pub/distributions/ALTLinux/Sisyphus/files/i586/RPMS/mpack-1.6-alt1.i586.rpm

ou compiler mpack depuis les sources : http://ftp.andrew.cmu.edu/pub/mpack/.

 - Créez un répertoire vide pour y extraire le fichier de sauvegarde : 
# mkdir recover
# cd recover

et copiez la sauvegarde dedans. Par défaut, la sauvegarde de Parallels Plesk Panel est gzipped (si non, utilisez cat), utilisez zcat pour passer les données dans munpack pour extraire le contenu des répertoires à partir du fichier de sauvegarde : 
# zcat DUMP_FILE.gz > DUMP_FILE
# cat DUMP_FILE | munpack

 Au final, vous obtenez un ensemble de fichiers tar et sql qui contiennent les bases de données et répertoires des domaines. Dézippez les fichiers tar nécessaires. Par exemple, si vous devez restaurer le dossier httpdocs pour le domaine DOMAIN.TLD : 
# tar xvf DOMAIN.TLD.htdocs


REMARQUE : L'utilitaire 'munpack' risque de ne pas fonctionner avec des fichiers dont la taille est supérieure à 2 Go et pendant l'extraction du dump, vous risquez de recevoir une erreur de ce type

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


Dans ce cas, essayez la troisième méthode.

III. TROISIEME METHODE :

Tout d'abord, vérifiez si le dump est compressé ou non et dézippez-le si nécessaire :

# file testdom.com_2006.11.13_11.27
testdom.com_2006.11.13_11.27: gzip compressed data, from Unix

# zcat testdom.com_2006.11.13_11.27 > testdom.com_dump


Le dump se compose du chemin d'accès XML qui décrit ce qui est compris dans le dump et les données elles-mêmes. Chaque graphique de données peut être trouvé par le CID (ID du contenu) approprié que vous pouvez trouver dans le chemin d'accès XML.

Par exemple, si le domaine a un hébergement, tous les chemins d'accès inclus dans l'hébergement sont listés comme suit :

    <phosting cid_ftpstat="testdom.com.ftpstat" cid_webstat="testdom.com.webstat" cid_docroot="testdom.com.htdocs" cid_private="testdom.com.private"
    cid_docroot_ssl="testdom.com.shtdocs" cid_webstat_ssl="testdom.com.webstat-ssl" cid_cgi="testdom.com.cgi" errdocs="true">

Si vous devez extraire le 'httpdocs' du domaine, vous devez rechercher la valeur du paramètre 'cid_docroot', il s'agit de 'testdom.com.htdocs' dans notre cas.

Puis, coupez le contenu de 'httpdocs' de l'ensemble du dump à l'aide du CID trouvé. Pour ce faire, vous devez trouver le nombre de la chaîne à partir de laquelle notre contenu commence et la chaîne à partir de laquelle elle se termine, comme ceci :

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


Augmentez le nombre de la première ligne à 2 et diminuez de 1 le nombre de la seconde ligne, puis exécutez :

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


Vous obtenez alors l'archive tar du répertoire 'httpdocs'.

Si vous devez restaurer la base de données, la procédure est la même. Vous devez trouver la description des bases de données pour le domaine dont vous avez besoin, par ex :

        <database version="4.1" name="mytest22" cid="mytest22.mysql.sql" type="mysql">
          <db-server type="mysql">
            <host>localhost</host>
            <port>3306</port>
          </db-server>
        </database>

Trouvez le contenu de la base de données par le CID :

# egrep -an '(^--_----------)|(mytest22.mysql.sql)' ./testdom.com_dump | grep -A1 "Content-Type"
1949:Content-Type: application/octet-stream; name="mytest22.mysql.sql"
1975:--_----------=_1163395694117660-----------------------------------------


Augmentez le nombre de la première ligne à 2 et diminuez de 1 le nombre de la seconde ligne, puis exécutez :

head -n 1974  ./testdom.com_dump | tail +1951  > mytest22.sql


Au final, vous obtenez la base de données au format SQL.

a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c

Email subscription for changes to this article
Save as PDF