Restore

Using the custom backup container it is possible to restore:

  • the Elasticsearch indices

  • the OpenLDAP database (if present)

To restore any of the data the following steps have to be performed:

  • stop Snow Owl, Elasticsearch, and the OpenLDAP containers (in the folder ./snow-owl/docker):

docker-compose stop snowowl elasticsearch ldap
  • (re)move the contents of the old / corrupted Elasticsearch data folder:

mv -t /tmp ./snow-owl/resources/indexes/nodes
  • restart the Elasticsearch container only (keep Snow Owl stopped):

docker-compose start elasticsearch
  • use the backup container's terminal and execute the restore script:

    • without any parameters, if only the Elasticsearch indices have to be restored

    root@host:# docker exec -it backup bash
    root@ad36cfb0448c:# /backup/restore.sh
    • with parameter -l in case the Elasticsearch indices and the OpenLDAP database have to be restored at the same time

    root@host:# docker exec -it backup bash
    root@ad36cfb0448c:# /backup/restore.sh -l
  • the script will list all available backups and prompts for selection:

root@ad36cfb0448c:# /backup/restore.sh

################################
Snow Owl restore script STARTED.

#### Verify Elasticsearch snapshot repository ####

Checking existence of repository 'snowowl-snapshots' ...
Repository with name 'snowowl-snapshots' is present, verifying repository state ...
Repository 'snowowl-snapshots' is functional

#### Select backup to restore ####

Found 10 available backups under '/backup'
Please select the backup to restore by choosing the right number in the menu below (hit Enter when the selection was made)

 1) snowowl-daily-20220323030001
 2) snowowl-daily-20220324030001
 3) snowowl-daily-20220325030002
 4) snowowl-daily-20220326030002
 5) snowowl-daily-20220329030001
 6) snowowl-daily-20220330030001
 7) snowowl-daily-20220331030002
 8) snowowl-daily-20220401030002
 9) snowowl-daily-20220402030001
10) snowowl-daily-20220405030002

#?
  • enter the numerical identifier of the backup to restore and wait until the process finishes

  • exit the backup container and restart all containers:

root@ad36cfb0448c:# exit
root@host:# docker-compose up -d

In case only the contents of the OpenLDAP server has to be restored, it is sufficient to just extract the contents of the backup archive to ./snow-owl/ldap and restart the container.

Last updated