Backup and restore
One of the most important things to have is an updated backup of your OpenKM.
If you have followed the installation instructions then you have configured OpenKM to use a production-safe database and optionally you have set a path the OpenKM repository data store.
OpenKM has several configurations, but for optimal performance we recommend:
- Use the default data store that saves binary information directly to the server disk (in a non human comprehensible format).
- All the other information, folders and documents structure, metadata, etc., is stored in the database.
OpenKM allows the use of other datastores, for example to save binary data into a database.
In this case:
- First backup your database (make a SQL dump)
- Then backup your data on filesystem
By default, all documents are stored in $TOMCAT_HOME/repository. This default folder can be changed using the property repository.home in the file $TOMCAT_HOME/OpenKM.cfg file.
Although OpenKM supports hot backups of your data, it is recommended to stop Tomcat before starting the backup. Apply this good practice when possible.
Backup steps:
- Stop Tomcat (optional).
- Backup the database (mandatory).
- Backup the repository folder (mandatory).
- Start Tomcat (optional).
Performing the backup in that order (the database first, then the filesystem) will ensure backup consistency.
There is an alternative to traditional backup methods: you can export the whole repository from OpenKM Administration > Utilities > Repository export and choose metadata and history options. But we do not suggest this way of doing backups. For medium to large repositories we suggest some incremental backup solution.
Detailed steps
In case you have OpenKM configured with MySQL or MariaDB you can follow these steps to backup and restore. For other databases check its corresponding command.
Backup
$ /etc/init.d/tomcat stop
$ mysqldump -h localhost -u root -p okmdb > /path/to/openkm/okmdb.sql
$ zip -r /path/to/backup/okm-backup.zip /path/to/openkm
$ /etc/init.d/tomcat start
After that, you will have a ZIP archive with the whole OpenKM installation and the exported database. Please, check before destroying the installation. We always recommend to restore the backup to ensure you have all the required files.
Restore
Please, note that you have to create the database if wasn't created previously. In case of MySQL or MariaDB install it:
$ sudo apt install mariadb-server
And execute the following sentences:
CREATE USER 'openkm'@'localhost' IDENTIFIED BY 's3cr3t0';
CREATE DATABASE okmdb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_bin;
GRANT ALL ON okmdb.* TO 'openkm'@'localhost' WITH GRANT OPTION;
Keep on mind that the user and database name may be different in you case. Please, take a look at the installation report or check it at $TOMCAT_HOME/conf/server.xml
Once created restore the database and files:
$ unzip /path/to/backup/okm-backup.zip -d /path/to/restore
$ mysql -h localhost -u root -p okmdb < /path/to/restore/okmdb.sql
Set the permissions according to the user who start OpenKM:
$ sudo chown openkm:openkm /path/to/openkm -R
Install the required dependencies:
$ sudo apt install gawk imagemagick libreoffice tesseract-ocr
Once restored, verify file permissions, start OpenKM and make a repository check. See Repository checker.
Backup scripts
- Linux backup and restore with rdiff-backup tool Linux backup and restore with rdiff-backup tool
- Linux backup and restore with rsync
- Linux backup and restore with Duplicity
- Linux backup with LFTP