Datensicherung

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search


Datensicherung = Backup

Zurück zur
Inhaltsübersicht

#Administration

Who.png Warum?

Es gibt mehrere Gründe, warum es wichtig ist, eine vollständige Instanz/Systemumgebung von Dolibarr zu "sichern".
Beispielsweise:

  • Weil Sie vorhaben, ein Upgrade durchzuführen und bei einem Fehler zur vorherigen Version zurückkehren möchten.
  • Weil Sie Dolibarr von einem Server auf einen anderen Server verschieben/migrieren möchten.
  • Und natürlich, um eine Wiederherstellung machen zu können, wenn etwas Schlimmes passiert ist (Festplattenfehler, Virus, Hack-Angriff, Datenmanipulation ...)

Aus den oben genannten Gründen wird empfohlen, regelmäßig eine neue Sicherungskopie aller von Dolibarr verwendeten und gespeicherten Daten zu erstellen.


Who.png Was ist zu sichern?

Dolibarr speichert seine Daten an 3 unterschiedlichen Speicherorten. Diese müssen alle gesichert werden, bevor man ein Update/Upgrade von Dolibarr durchführt,
um sicher zu stellen, dass man im Notfall wieder den vorherigen Stand wiederherstellen kann.
Dies sind die 3 Arten von zu sichernden Daten:

Konfigurationsdateien

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.

Note: This backup is however optional as you can still rebuild this file manually from scratch or with the Dolibarr install wizard if you know your database credentials (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.

Datenbank

Die Datenbank beinhaltet alle Daten, die man im Dolibarr Programm eingegeben/erzeugt hat, also z.B. Partner, Kontakte, Produkte, Belege, Termine .. (außer angehängte oder durch Belege erzeugte Dokumente).
Die Sicherung der Datenbank muss gesamtheitlich erfolgen (alle Daten/Tabellen).
Es wird empfohlen die Datenbank regelmäßig zu sichern.

Dokumente

Alle Dokumente, die sich auf Ihre Dolibarr-Instanz beziehen, werden in einem Verzeichnis gespeichert, das in Ihrer Konfigurationsdatei definiert ist. dolibarrdir/htdocs/conf/conf.php. Wenn Sie die Auswahl bei der Erstinstallation standardmäßig beibehalten haben, sollte sie etwa so aussehen dolibarrdir/documents. Dieses Verzeichnis muss vollständig gespeichert sein.

Bei einem Upgrade sollte der Upgrade-Prozess dieses Verzeichnis nicht ändern, aber dieses Verzeichnis kann vom Webserver jederzeit gelesen und geschrieben werden, es kann durch eine schlechte Aktion oder einen Fehler geändert werden. Um sicherzustellen, dass Sie alle Ihre verbundenen Dateien behalten und sie wiederherstellen können, wenn sie versehentlich gelöscht oder geändert werden, erstellen Sie einfach eine Kopie des gesamten Inhalts dieses Verzeichnisses.

Hinweis: Das Kopieren des gesamten Ordners mit allen Ihren Dokumenten könnte ein ressourcenintensiver Prozess sein, also wenn Sie dies nicht regelmäßig tun können, machen Sie zumindest ein Backup Ihrer Datenbank (die viel kleiner sein sollte und es Ihnen trotzdem ermöglichen würde, die meisten Ihrer Daten wiederherzustellen, die dann verwendet werden können, um die meisten Ihrer Dokumente zu regenerieren).

Code Änderung

Schließlich sollte jede kundenspezifische Entwicklung von Modulen, d.h. alle php-Dateien (oder andere), die hinzugefügt oder geändert worden wären, um spezifischen Anforderungen gerecht zu werden, ebenfalls gespeichert werden. In den meisten Fällen sind Sie von diesem Punkt nicht betroffen.

Who.png Wann ?

Die Häufigkeit der Backups hängt davon ab, wie oft Sie Dolibarr verwenden und was Sie akzeptieren, wenn etwas passiert. Häufiger die Frequenz, weniger Daten gehen bei einem Crash/Ausfall verloren.

Außerdem können Sie wählen, ob Sie häufiger einen Teil (wie die Datenbank) sichern möchten, der kritischer ist, und weniger regelmäßig andere, weil er schwerer ist (wie die Dokumente).

Als guter Ausgangspunkt sollte Ihre Datenbank je nach Nutzung alle 1 Monat oder sogar alle 1 Woche gesichert werden, während Dokumente alle 6 Monate oder alle 1 Monat je nach Nutzung erneut gesichert werden können.

Also, die conf.php Datei muss nur einmal gesichert werden (da sie sich nur ändert, wenn Sie Ihren Host wechseln, und trotzdem manuell erstellt werden kann).

Who.png Wie ?

The configuration file

A simple copy of file conf/conf.php into a directory dedicated to your backup is enough.

Die Datenbank

Es gibt 4 Möglichkeiten, Ihre Datenbank zu sichern:

Verwendung des Dolibarr System-Backup-Tools

Dies ist der einfachste Weg, um Ihr Backup zu erstellen, und außerdem werden alle Ihre Backups auf dem Server gespeichert und aufgelistet, so dass Sie jede Version jederzeit abrufen können.

Wenn Sie eine neuere Version von Dolibarr verwenden, melden Sie sich einfach mit einem Administratorkonto bei Dolibarr an (nur Administratoren können Systemtools verwenden).

Then go to Home -> System tools -> Backups. Choose your options for your backup (you can keep all default values).

Alternative: the default method MySQL Dump (mysqldump) also needs that you have access to the mysqldump binary in execution on your server. If you are on a shared host that disable the mysqldump usage, you can try other method called MySQL Dump (php). This method is not guaranted at 100%, so please try it first by yourself by making a backup and then restoring it on a local non production server to check that your data is correctly saved.

Using mysqldump

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=mysqldump_databasename_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 mysqldump_databasename_version_date.sql where

  • version is the dolibarr version (ex: 3.7).
  • 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 mysqldump_databasename_3.7_20110518.sql.


If you want to have your file compressed (compressé) :

mysqldump databasename -h host -u user -pyourpass -l --single-transaction -K --add-drop-table=TRUE --tables -c -e --hex-blob --default-character-set=utf8 | bzip2 > mysqldump_databasename_version_date.bz2

Dump file will be generated with a bzip compressed format.

Example:

With Linux, to make a regular backup at 1:30 each day into file mysqldump_databasename_DD.sql.bz2, you can add this into your cron file:

30 1 * * * mysqldump databasename -h host -u user -pyourpass -l --single-transaction -K --add-drop-table=TRUE --tables -c -e --hex-blob --default-character-set=utf8 | bzip2 > mysqldump_databasename_`date +%d`.sql.bz2

Using phpMyAdmin

Do not use phpMyAdmin to save your database ! phpMyAdmin generates some dump files, but if you used default option, you won't be able to restore it. You must enable one specific option for you to be able to restore your backup later on (if you forgot to do so and already have a backup that you want to restore, please read the note about FOREIGN_KEY_CHECKS below).

In phpMyAdmin, click on the tab Export, then select your Dolibarr's database/tables (depending whether you are in multi-database view or tables view), and then enable the option Disable foreign key checks, also check that the output will be SQL, and then you can validate your export. Also, not that, even with this option, backup is NEVER guaruanted with phpMyAdmin and is OFTEN useless. The only secured method is to use mysqldump (from Dolibarr or manually. See the two previous chapters).

Using another Third-Party Tools

You can also use third-party database backup softwares, like php scripts that you can upload on your server (such as db2SQL by Howard Yeend or BigDump), or also use database designer/workbench softwares which generally offer to remotely connect to your database and allow you to make a full backup (along to remotely manage your database).




Warning.png in any case, your sql backup file should disable foreign keys prior to restoring, else your backup won't be restorable because of foreign keys clashing! Eg: Add FOREIGN_KEY_CHECKS in headers and footers:

-- 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 (using command line tool or using Dolibarr backup tool) is the most secure way to backup your data because it is developed along MySQL and thus is always up-to-date. PhpMyAdmin and other thirdparty tools may generate a correct SQL dump but may be outdated or miss some features (depending on options you choose).

The documents

Just copy the Documents folder (dolibarr/documents by default) to your local backup directory.

Note: If you made a backup of the database with the System Tools of Dolibarr, the sql dump files also resides in the Documents folder, and thus will be copied along.

Astuces.png Restore

This topic is explained into page Restores.