Sauvegardes

De Dolibarr Open Source ERP CRM Wiki.

Retour index
Documentation Utilisateur

File Doc user.png

Contents

Who.png Pourquoi sauvegarder

Il existe plusieurs raisons pour lesquels il est très important de pouvoir "sauvegarder" une instance complète de Dolibarr. Par exemple:

  • En prévision d'une mise à jour afin de pouvoir faire un retour arrière.
  • Pour faire un déplacement de son Dolibarr d'un serveur à un autre.
  • Enfin et surtout, afin de pouvoir réaliser une restauration pour se prémunir d'un sinistre, d'une fausse manipulation.

Pour toutes ces raisons, il est recommandé de réaliser des sauvegardes des données propres à Dolibarr.

Who.png Quoi sauvegarder

Dolibarr stocke des données à 3 endroits. Ces 3 endroits devraient être sauvegardés avant chaque mise-à-jour afin de s'assurer que, si un problème survient, les données peuvent être récupérées, ou tout simplement régulièrement pour être capable de restaurer son travail en cas de problème. Voici les 3 typologies de données qu'il est nécessaire de sauvegarder pour une restauration sans perte.

Le fichier de configuration

Bien que les fichiers de configuration ne soient normalement jamais modifiés par le processus de mise-à-jour, il vaut mieux parer à toute éventualité. Le fichier de configuration s'appelle conf.php et se trouvent dans dolibarr/htdocs/conf/. Faire une copie de ce fichier dans un espace dédiée à la sauvegarde. Cette sauvegarde peut toutefois ne pas être réalisée si vous connaissez vos identifiant de connexion (et tout autre paramètre non standard) par ailleurs. En cas de restauration, le fichier peut être recréé par une installation vierge.

La base de données

La base de données contient toutes les données que vous avez saisies (hors documents pièces jointes évoqués dans le paragraphe suivant). Sa sauvegarde doit être faite de manière globale. Voir la suite pour le comment.

Les documents

Tous les documents relatifs à votre instance Dolibarr sont conservés dans le répertoire indiqué par la variable $dolibarr_main_document_root dans votre fichier de configuration dolibarr/htdocs/conf/conf.php. Si vous avez laissé le choix par défaut, il s'agit de dolibarr/documents. Ce répertoire doit impérativement être sauvegardé. En cas de mise à jour, bien que le processus de mise-à-jour n'intervienne normalement pas sur ce répertoire, ce dernier étant accessible en écriture par le serveur web en tout temps, il pourrait se retrouver altéré par une fausse manipulation ou un bug. Pour vous assurer de la conservation des documents officiels et leur récupération, faites une copie de sauvegarde de ce répertoire.

Les modifications de code

Enfin, toute évolution de modules, c'est à dire tous fichiers php (ou autre) qui aurait été ajouté ou modifié pour prendre en compte des évolutions spécifiques, doivent également être sauvegardés. Dans la plupart des cas, vous n'êtes pas concernés par ce point.

Who.png Quand

La fréquence conseillée dépend de l'intensité de l'utilisation que vous faites de Dolibarr et de la tolérance en terme de donnée perdu que vous acceptez. Plus la fréquence est élevé, moins, en cas de restauration, vous n'aurez de données perdues.


Who.png Comment

Le fichier de configuration

Une simple copie du fichier conf/conf.php dans un répertoire dédié à la sauvegarde suffit.

La base de données

Il y a 4 méthodes pour sauvegarder votre base de données:

Par les outils sauvegarde de Dolibarr

Il s'agit de la façon la plus simple pour faire de votre sauvegarde, et en plus toutes vos sauvegardes seront stockées sur le serveur et seront listées, de sorte que vous pouvez récupérer n'importe quelle ancienne version n'importe quand.

Si vous utilisez une version assez récente de Dolibarr, connectez-vous dans Dolibarr avec un compte administrateur (seuls les administrateurs peuvent utiliser les outils système).

Ensuite, allez à Accueil -> Outils Système -> Sauvegarde.

Choisissez ensuite vos options pour votre sauvegarde (vous pouvez conserver toutes les valeurs par défaut).

Attention: Certains utilisateurs ont reporté que les sauvegardes sont parfois incomplètes (certaines tables manquantes) quand la compression est activée. Bien que ce problème n'ait pu être reproduit, pensez à vérifier le contenu de votre sauvegarde ou à ne pas activer la compression si vous voulez être prudent.

Alternative: la méthode par défaut MySQL Dump (mysqldump) nécessite d'avoir un accès au fichier binaire mysqldump en exécution sur votre serveur. Si vous êtes sur un hébergement mutualisé qui désactive cet accès, vous pouvez essayer une autre méthode en définissant MAIN_FEATURES_LEVEL = 1, ce qui fera apparaître une nouvelle méthode Dump MySQL (php). Cette méthode est encore expérimentale, donc s'il vous plaît essayez d'abord par vous-même en faisaint une sauvegarde puis en la restaurant sur une base locale de test pour vérifier que vos données sont correctement enregistrées et restaurées.

Par l'outil mysqldump

Si vous préferez le mode manuel, vous pouvez utiliser directement l'outil de sauvegarde de votre base. Avec MySQL, la commande pour sauvegarder votre base de données dans un fichier est:

mysqldump nombase -h nomserveur -u utilisateur -pmotdepasse -l --single-transaction -K --add-drop-table=TRUE --tables -c -e --hex-blob --default-character-set=utf8 --result-file=mysqldump_nombase_version_date.sql

où :

  • utilisateur est l'utilisateur privilégié MySQL que Dolibarr utilise pour se connecter à la base de données,
  • motdepasse est le mot de passe du compte utilisateur MySQL (attention pas d'espaces entre le p et le mot de passe),
  • nomserveur est le nom ou l'ip du serveur de base de donnée.
  • nombase est le nom de la base de données que Dolibarr utilise.

Ces informations (utilisateur, mot de passe et base de données) sont disponibles dans votre fichier de configuration dolibarr/htdocs/conf/conf.php

Le fichier résultant (appelé "fichier dump"), est nommé mysqldump_nombase_version_date.sql, où

  • version est la version en cours de votre dolibarr (ex: 3.7)
  • date peut-être remplacé par une date, par exemple au format AAAAMMJJ, avec AAAA l'année (ex. 2011), MM le numéro du mois (ex. 05) et JJ le jour dans le mois (ex. 18).

Pour reprendre les valeurs données en exemple, le fichier dump sera baptisé mysqldump_nombase_3.7_20110518.sql.


Une astuce pour récupérer un fichier de petite taille (compressé) :

mysqldump nombase -h nomserveur -u utilisateur -pvotremotdepasse -l --single-transaction -K --add-drop-table=TRUE --tables -c -e --hex-blob --default-character-set=utf8 | bzip2 > mysqldump_nombase_version_date.bz2

Le fichier ainsi récupéré est directement compressé au format bzip.

Exemple:

Sous Linux, pour réaliser une sauvegarde régulière à 1h30 dans le fichier mysqldump_nombase_DD.sql.bz2, vous pouvez ajouter ceci dans votre fichier cron:

30 1 * * * mysqldump nombase -h nomserveur -u utilisateur -pvotremotdepasse -l --single-transaction -K --add-drop-table=TRUE --tables -c -e --hex-blob --default-character-set=utf8 | bzip2 > mysqldump_nombase_`date +%d`.sql.bz2

Par phpMyAdmin

Vous pouvez également utiliser phpMyAdmin pour sauvegarder votre base de données, mais il est nécessaire d'activer une option afin que vous puissiez restaurer le backup plus tard (si vous avez oublié de le faire, lisez la note à propos des FOREIGN_KEY_CHECKS plus bas).

Dans phpMyAdmin, cliquez sur l'onglet Exporter, puis sélection votre base de données Dolibarr ou les tables de Dolibarr (suivant la fenêtre dans laquelle vous étiez - vue base de données ou vue tables), et cochez Désactiver la vérification des clés étrangères, et enfin vérifiez quand même que le résultat sera au format SQL, et vous pouvez valider l'exportation.

Par un autre Logiciels tiers

Vous pouvez également utiliser des logiciels tiers de sauvegarde de bases de données, comme les scripts PHP que vous pouvez uploader (téléverser) sur votre serveur (comme DB2SQL par Howard Yeend ou BigDump), ou encore utiliser un concepteur de base de données / workbench qui offrent généralement la possibilité de se connecter à distance à votre base de données et vous permettra de faire une sauvegarde complète.




Warning.png Dans tous les cas, 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! 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;


Warning.png Mysqldump (que ce soit par l'outil en ligne de commande ou par la fonction Sauvegarde de Dolibarr) est le moyen le plus sûr de sauvegarder vos données, car il est développé par les même développeurs que MySQL et est donc toujours à jour. PhpMyAdmin et les logiciels tiers peuvent générer un dump SQL valide, mais le code SQL résultant peut être obsolète ou manquer de certaines fonctionnalités (en fonction des options que vous choisissez).

Les documents

Une copie du répertoire des documents (dolibarr/documents par défaut mais le bon chemin est décrit dans le fichier conf.php) dans un répertoire de sauvegarde dédié suffit.

Rem: Si vous avez réalisez la sauvegarde de la base via l'outil système de Dolibarr (voir paragraphe précédent), le fichier dump base de donnée se trouve également inclus dans cette copie (dans le sous répertoire dolibarr/documents/admin/backup).

Astuces.png Restauration

Ce sujet est traité dans la page Restaurations

Outils personnels
  • Ask to contact@dolibarr.org to request an account to contribute to this documentation
  • Connexion
Autres langues
AnglaisEspagnolAllemandItalien
Pas de traduction en Italien.
Grèque
Pas de traduction en Grèque.
<multilanguagemanager_cn>
Pas de traduction en &lt;multilanguagemanager_cn&gt;.

Social networks
Follow us on Google+ Follow us on Facebook Follow us on LinkedIn Follow us on Twitter