Backups
Why ?
There is several reason why it is important to "backup" a complete instance of Dolibarr. For example:
- Because you plan to make an upgrade and want to do a go back to previous version if it fails.
- Because you want to move Dolibarr from one server to another server.
- And of course, to be able to make a restore to be safe if something bad happens (crash disk, hack corruption, ...)
For all the above reasons, it is recommended to regularly make a new backup of all data used and saved by Dolibarr.
What to save ?
Dolibarr save its data in 3 different spaces. They all must be saved before each version upgrade to be sure to be able to get back its data if a problem occurs or if you want to go back on previous version. This is the 3 kind of data you need to save to be sure to loose nothing.
The configuration file
The configuration file should not be modified by upgrade process, but it is more prudent to save it also when you do an upgrade. The configuration file is called conf.php and you can find it into directory dolibarrdir/htdocs/conf/. Make a copy of this file into the dedicated area of your backup. This backup is however optional as you can still rebuild this file if you know all your connexion id (this file contains only parameters to connect to database and directory where you Dolibarr is installed). When making a restore, it is still possible to rebuild this file by an installation from scratch.
The database
The database contains all data you have added from Dolibarr screens (except the attached files that are presented in next chapter). Saving the database must be done in a global way (all content). See the chapter "How" later in this document.
Documents
All documents related to your Dolibarr instance are saved into directory defined into your config file dolibarrdir/htdocs/conf/conf.php. If you kept the choice by default during first installation, it should be something like dolibarrdir/documents. This directory must be completely saved. When making an upgrade, the upgrade process should not change this directory, however this directory can be read and write by web server at any time, it might be altered by a bad action or a bug. To be sure to keep all your joined files and be able to restore them if they are accidentally deleted or altered, just make a copy of all content of this directory.
Note: copying the whole folder containing all your documents might be an heavy process, so if you can't do this regularly, at least make a backup of your database (which should be a lot smaller and would still enable you to recover most of your data, which can then be used to regenerate most of your documents).
When ?
Frequency of backups depends on how often you use Dolibarr and what you accept to loose if something happens. More the frequency is important, less you will loose data if need to erase you software with a backup.
How ?
The configuration file
A simple copy of file conf/conf.php into a directory dedicated to your backup is enough.
The database
If you use a recent version of Dolibarr, connect with Dolibarr administrator account. Then go to Home -> System tools -> Backups. Choose options for your backup (if possible, keep all default values).
If you prefer a manual mode, you can also use the backup tool designed for your database. With Mysql, the command to backup your database into a file is :
mysqldump -u user -pyourpass --result-file=dolibarr.version.date.sql databasename
where :
- user is MySQL user that Dolibarr use to connect to database,
- yourpass is password of MySQL account user (warning, no space between the p and yourpass),
- databasename is the name of Dolibarr database.
Those informations (user, password and database) are available into your configuration file dolibarrdir/htdocs/conf/conf.php
The result file ("dump file"), is called dolibarr.version.date.sql where
- version is the dolibarr version (ex: 3.2).
- date can be replaced with a date, recommanded format is YYYYMMDD, with YYYY the year (ex. 2011), MM is month number (ex. 05) and DD is day in month (ex. 18).
With value used as example, we will get a dump file called dolibarr.3.2.20110518.sql.
Do not trust PhpMyAdmin (or any other thirdparty tools) to generate your backup dump. PhpMyAdmin is a good tool, but, to generate a backup file, does not include all MySql options/changes. Only using the mysqldump command can guarantee you generate a dump file you can restore on any Mysql database server/version.
The documents
Une copie du répertoire des documents (dolibarr/documents par défaut) dans un répertoire de sauvegarde dédié suffit. Si vous avez réalisez la sauvegarde de la base via l'outil système de Dolibarr, le fichier dump base de donnée se trouve également inclus dans cette copie.
Restore
This topic is explained into page Restores.