If you do not customize and configure eXo Platform, the whole data is located in one directory. So you just need to back up and restore the folder:
$PLATFORM_TOMCAT_HOME/gatein/data
(in Tomcat).
$PLATFORM_JBOSS_HOME/standalone/data/gatein
(in JBoss).
However it is not the case in production. As introduced in Planning your backup, the eXo Platform data consists of JCR File System data and JCR/IDM SQL Databases. The backup/restore does not require any specific tools. You just need to know the data location and use OS utilities to back up/restore file system data and DBMS tools to back up/restore SQL databases.
JCR Directory and JCR Database must be consistent. Then you should stop eXo Platform, back up both before restarting. All nodes should be stopped if you are running the cluster mode.
File System Data
You can check the data location in the customized configuration file.
In Tomcat, the file is $PLATFORM_TOMCAT_HOME/bin/setenv-customize
(.sh
for Linux and .bat
for Windows).
In JBoss, it is $PLATFORM_JBOSS_HOME/bin/standalone-customize
(.conf
for Linux and .conf.bat
for Windows).
Open the file and find EXO_DATA_DIR. This variable indicates the folder you need to back up or restore.
You may disregard the background storage system (device and protocol) and let the OS take care of it. However, to make it efficiently, the background storage should be considered. There are working storage (that eXo Platform uses) and backup storage. Each of two can be on local drives, or a mount point of a network shared device. Each can be a SAN or a NAS storage. You should use different hard drives for working storage and backup storage, for safety, and conditionally for speed.
As said above, the whole JCR file system data is located in one root directory (EXO_DATA_DIR). However, there is a possibility that an element (a workspace for instance) is configured to be different. To handle such cases, look inside the file system data. There may be:
Index directory, which will be checked at the eXo Platform startup, and re-created if missing.
In the cluster mode, the eXo Platform instances may share an index directory, or use their own directories.
Value directory (if existing) that is used to store the BLOB data.
The BLOB data can be optionally stored in database and file system storage, and is defaulted to "true".
You can override this in $PLATFORM_TOMCAT_HOME/gatein/conf/exo.properties
(Tomcat) or $PLATFORM_JBOSS_HOME/standalone/configuration/gatein/exo.properties
(JBoss)
(see Configuration overview for this file).
exo.jcr.storage.enabled=true
Swap directory, which is used as temporary memory space at runtime. This is not mandatory in backup and restore.
jta directory, which is used for transaction data. This is not mandatory in backup and restore.
By default, all are located under EXO_DATA_DIR
and each workspace has its index, value and swap directories.
Also, the portal default configurations may be changed or overwritten, however it is not recommended to do this. To see how it can happen, see
JCR Configuration.
SQL Databases
Check your database configurations to see which databases are being used. The database configurations are described in Configuring eXo Platform of the Database configuration section.
There should be 2 databases: JCR and IDM. You should back up and restore the whole database. If you want to back up and restore tables separately, make sure your backup parts are consistent.
See also