Difference between revisions of "ContextRestore Bundle"

(Limitations)
(Usage)
Line 36: Line 36:
 
databases involved. This can be done by executing the command  
 
databases involved. This can be done by executing the command  
  
  $ mysqldump --all-databases --single-transaction
+
  $ mysqldump --all-databases --single-transaction --hex-blob
  
 
on all database machines registered in Open-Xchange as well as the
 
on all database machines registered in Open-Xchange as well as the
configuration Database. These two parameters are very important. The first one
+
configuration Database. These three parameters are very important. The first one
lets the dump contain every database on the specified database host, and the
+
lets the dump contain every database on the specified database host, the
second is used for a consistent backup. Instead of <tt>–-all-databases</tt> you can also
+
second is used for a consistent backup and the third one is used to let all binary data
 +
appear as hex in the dump. Instead of <tt>–-all-databases</tt> you can also
 
use <tt>–-database</tt> with the right database(s), if none of the switches are given as
 
use <tt>–-database</tt> with the right database(s), if none of the switches are given as
 
direct argument then mysql will left out essential data in the dump. For a full
 
direct argument then mysql will left out essential data in the dump. For a full

Revision as of 13:40, 5 September 2013

Context Restore Documentation

Introduction

This document contains descriptions about the context restore bundle. This bundle is a solution for restoring one single context out of a mysql dump from a complete Open-Xchange database. In a distributed setup, it is possible to use several files containing the dumps of different databases. The tool described within this document does fetch the needed information out of these files.

Limitations

You must not delete the last context from within a database schema. If you just have ONE context left in your system, do NOT delete it. That is because the deletion of the last contexts leads into deletion of the entire schema. In that case, you have to restore a complete database dump. restorecontext will not work in that case.

Requirements

For correct operation, it is required that the mysql dumps for this tool represent a consistent state of all databases the Open-Xchange server has under control. Furthermore this consistent state needs also to include the backup of the filestore.

Install on OX 7.x

Debian GNU/Linux 10.0

Add the following entry to /etc/apt/sources.list.d/open-xchange.list if not already present:

deb https://software.open-xchange.com/products/stable/DebianBuster/ /
# if you have a valid maintenance subscription, please uncomment the 
# following and add the ldb account data to the url so that the most recent
# packages get installed
# deb https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/stable/updates/DebianBuster/ /

and run

$ apt-get update
$ apt-get install open-xchange-admin-plugin-contextrestore

Debian GNU/Linux 11.0

Add the following entry to /etc/apt/sources.list.d/open-xchange.list if not already present:

deb https://software.open-xchange.com/products/stable/DebianBullseye/ /
# if you have a valid maintenance subscription, please uncomment the 
# following and add the ldb account data to the url so that the most recent
# packages get installed
# deb https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/stable/updates/DebianBullseye/ /

and run

$ apt-get update
$ apt-get install open-xchange-admin-plugin-contextrestore


After the package has been installed, a new shell script named /opt/open-xchange/sbin/restorecontext The server needs to be restarted to make the new functionality available. The functionality is accessible via RMI, CLT and SOAP.

Usage

A complete database backup has to be done before the new function can be used. The Tool described within this document requires a full SQL dump of the databases involved. This can be done by executing the command

$ mysqldump --all-databases --single-transaction --hex-blob

on all database machines registered in Open-Xchange as well as the configuration Database. These three parameters are very important. The first one lets the dump contain every database on the specified database host, the second is used for a consistent backup and the third one is used to let all binary data appear as hex in the dump. Instead of –-all-databases you can also use –-database with the right database(s), if none of the switches are given as direct argument then mysql will left out essential data in the dump. For a full backup the switch --all-databases is recommended.

The usage of the command line tool is self-explanatory as it confirms to the standard unix behavior. --help will show a short help with the available parameters.

The main arguments of the tool are different database dumps (from the configdb and the distributed user data databases). On success the tool returns the path to the filestore of the given context. The files below this path have to be restored afterwards in a separate process which is not part of the Open-Xchange system. An example of a restore would look like this:

$ restorecontext -A oxadminmaster -P secret -c 1 \
   -f /path/to/configdb.sql,/path/to/userdb.sql,/path/to/userdb1.sql,...
file:/path/to/filestore/1_ctx_store