Sauvegardes

= Pourquoi sauvegarder = Il existe plusieurs raisons pour lesquels il est très important de pouvoir "sauvegarder" une instance complète de Dolibarr. Par exemple: Pour toutes ces raisons, il est recommandé de réaliser des sauvegardes des données propres à Dolibarr.
 * 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.

= 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.

= 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.

= 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.

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: où : Ces informations (utilisateur, mot de passe et base de données) sont disponibles dans votre fichier de configuration dolibarr/htdocs/conf/conf.php
 * 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),
 * base de données est le nom de la base de données que Dolibarr utilise.

Le fichier résultant (appelé "fichier dump"), est nommé dolibarr.version.date.sql, où Pour reprendre les valeurs données en exemple, le fichier dump sera baptisé dolibarr.3.2.20110518.sql.
 * version est la version en cours de votre dolibarr (ex: 3.2)
 * 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).

Une astuce pour récupérer un fichier de petite taille (compressé) : Le fichier ainsi récupéré est directement compressé au format bzip.

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.

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.

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:

Mysqldump 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).

= Restauration = Ce sujet est traité dans la page Restaurations