Restaurations

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search

Cette page décrit comment restaurer une sauvegarde de Dolibarr (par exemple après avoir formatté votre disque dur). Pour savoir comment faire une sauvegarde complète, voir la page Sauvegardes.

Prérequis

Pour une restauration complète, on suppose que :

  • Vous avez une sauvegarde de votre base de donnée (dans un fichier dump, fait par mysqldump avec mysql par exemple).
  • Vous avez une sauvegarde de vos fichiers du répertoire documents.
  • Vous connaissez le login et mot de passe d'un utilisateur administrateur que vous utilisiez pour accéder au Dolibarr qui a été sauvegardé.

Etape 1 - Réinstaller le logiciel Dolibarr

Si vous avez désinstallé Dolibarr ou pas encore installé car vous êtes sur un nouveau serveur, vous devez installer Dolibarr comme si vous vouliez l'utiliser pour la première fois avec des données fraiches.

Faites attention à utiliser le même type de base de données qu'auparavant (Mysql, PostgreSQL...).

Vous pouvez installer toute distribution de votre choix de Dolibarr (Dolibarr, DoliWamp, DoliDeb, ou toute autre distribution de tout Linux...), cependant il doit s'agir exactement de la même version (vX.Y) que celle qui était utilisée lors de votre sauvegarde (si vous voulez en profiter pour monter de version, il est recommandé de le faire dans un second temps). Remaqure: Si la sauvegarde a été faite depuis Dolibarr, la version de Dolibarr sauvegardé est incluse dans le nom du fichier de sauvegarde de base de donnée.

Etape 2 - Restaurer les fichiers documents

Sur votre nouvelle installation de Dolibarr, aller avec un compte administrateur dans le menu Accueil > Outils Système > Restauration.

Dolibarr vous montrera où doit être stocké votre répertoire des fichiers documents par un message de ce genre:

Pour restaurer une sauvegarde de Dolibarr, vous devez:

* Reprendre le fichier archive (fichier zip par exemple) du répertoire documents et en extraire l'arborescence dans le répertoire documents d'une nouvelle 
  installation de dolibarr ou dans le répertoire documents de cette installation (chemin du répertoire des documents).

Ce répertoire doit être vidé (vous pouvez purger son contenu). Tout ce que vous avez à faire est de copier le contenu de votre répertoire sauvegardé de vos anciens fichiers dans ce répertoire.

Etape 3 - Restaurer la base de donnée

MySQL

Sur les installations autres que Linux, si la commande mysql n'est pas reconnue dans une Commande DOS, cela signifie que la variable PATH ne liste pas le répertoire dans lequel est mysql.exe. Il faut :

  • soit compléter la variable PATH par l'ajout de ce répertoire dans lequel est mysql.exe,
  • soit copier le fichier dump de sauvegarde dans ce même répertoire.

Si votre fichier de sauvegarde est une archive compressée, décompresser le fichier auparavant.

Par exemple, une sauvegarde archive bzip nommée mysqldump_dolibarr_2.7.0_200812021800.sql.bz2 doit être décompressée en mysqldump_dolibarr_2.7.0_200812021800.sql (Lancer la commande bunzip nomdufichier.bz2 sous Linux, ou utiliser 7zip avec Windows).

Sur votre nouvelle installation de Dolibarr, connectez-vous avec un compte administrateur et allez dans le menu Accueil > Outils système > Restauration.

Choisir la méthode d'import MySQL.

Dolibarr affiche alors une commande à lancer en ligne de commande avec le mot de passe masqué pour réaliser la restauration de la base de donnée. Cliquez sur "Afficher la commande complète" pour avoir la commande complète avec le mot de passe non masqué. Par exemple, on aura :

mysql base_de_donées -h nom_ou_ip_serveur -P 3306 -u utilisateur -pvotremotdepasse < monfichiersauvegarde.sql

où :

  • base_de_données est le nom de la base de données MySQL qui contiendra vos données Dolibarr,
  • nom_ou_ip_serveur est le nom de la machine sur laquelle sera restaurée la base de données. Cela peut être 'localhost' qui est le nom générique de la machine locale sur laquelle vous opérez. Si la base doit être restaurée sur un autre système que la machine locale, remplacer localhost par le nom ou l'adresse IP du système distant en question.
  • -P 3306 est l'indication du port TCP/IP utilisé par MySQL (peut être omis, sauf cas particuliers),
  • utilisateur est l'utilisateur privilégié MySQL que Dolibarr utilise pour se connecter à la base de données,
  • votremotdepasse est le mot de passe du compte utilisateur MySQL (attention pas d'espaces entre le p et le mot de passe),
  • monfichiersauvegarde.sql est le nom du fichier dump (ex. mysqldump_dolibarr_2.7.0_200812021800.sql).

Ouvrir un shell de ligne de commande (Commande DOS sous Windows, Terminal shell sous Linux...). Aller dans le répertoire où est enregistré le fichier de sauvegarde à restaurer. Lancer la commande fournie précédemment, sachant que chaque espace (ou absence d'espace), signe "-" ou "<" est impérieusement requis, sous peine de générer une erreur de syntaxe.


Alternative: vous pouvez également utiliser phpMyAdmin, onglet Importer, pour restaurer votre fichier de sauvegarde (normalement, vous n'aurez à cocher aucune option en particulier, mais votre fichier de sauvegarde doit absolument désactiver FOREIGN_KEY_CHECKS, voir ci-dessous). Cette méthode offre des résultats qui ne sont toutefois pas garantie contrairement à la méthode précédente.


Troubleshooting

Warning.png ERROR 1005 (HY000) at line 20: Can't create table `dolibarr`.`llx_accounting_account` (errno: 150 "Foreign key constraint is incorrectly formed")

=> Si vous avez cette erreur, vous devez manuellement détruire la table llx_accounting_account et llx_accounting_system, avant de recommencer la tentative de chargement.


Warning.png Erreur au chargement de table sur des foreign keys.

=> Votre dump sql doit désactiver les vérifications de Foreign Keys pendant la restauration, sinon votre backup SQL ne pourra pas être restauré à cause des clashs entre les Foreign Keys! Ceci devrait être le cas par défaut si vous avez effectué votre sauvegarde correctement. Exemple: Ajouter FOREIGN_KEY_CHECKS au tout début et à la fin du fichier sql:

-- SQL Dump
-- Server version: 5.5.8

SET FOREIGN_KEY_CHECKS=0;
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

CREATE TABLE IF NOT EXISTS `llx_accountingaccount` (

INSERT INTO ...

CREATE TABLE ...

INSERT INTO ...

...

SET FOREIGN_KEY_CHECKS=1;

PostgreSql

Une procédure similaire à MySQL avec pg_restore.

En verysmall.png Page waiting to complete. To complete, create an account, go back and clic on "Modify".
Fr verysmall.png Page en attente d'être complété. Pour compléter, créez un compte, revenez et cliquez sur "Modifier".
Es verysmall.png Página a completar. Para completarla, cree una cuenta, vuelva a la página y haga clic en "editar"
De verysmall.png Seite wartet auf Vervollständigung. Um zu helfen, erstelle ein Konto, gehe zurück und klicke auf "Bearbeiten".
Cn verysmall.png 待完成,欲帮助完成,注册帐号,点击“编辑"
Jp verysmall.png ページは未完成の状態です。完成させるにはアカウントを作成し、ページに戻って「編集」をクリックして下さい。

Etape 4 - Utiliser votre Dolibarr restauré

Une fois la commande de restauration de base terminée, vous pouvez vous reloguer sous Dolibarr. Maintenant, vous devez utiliser un login qui existait lorsque la sauvegarde a été faite. Toutes les données sont celles datant de la sauvegarde.

Vidéos sur le sujet

Restauration des données sur une installation Docker: