As we are using kubernetes to host databases, so approch is different to restore database
Neo4j Restore
copy backup folder from the azure storage account to the pod which you will create with the below manifest, this pod will mount same pv where date is present of neo4j.
apiVersion: apps/v1 kind: Deployment metadata: name: ubuntu-deployment labels: app: ubuntu spec: replicas: 1 selector: matchLabels: app: ubuntu template: metadata: labels: app: ubuntu spec: containers: - name: ubuntu image: ubuntu command: ["sleep", "123456"] volumeMounts: - mountPath: /data name: neo4j-data volumes: - name: neo4j-data persistentVolumeClaim: claimName: neo4j-claim
scale neo4j deployement to 0
go inside the pod which you created with the manifest, navigate to /data/databases, rename graph.db to graph.db.backup and paste the graph.db folder at same location. Exit from the pod
Scale again neo4j pod to 1 which will load the data from the backup data
remove deployment which you have created.
Elasticsearch Restore
As we took elasticsearch backup with help of azure plugin
create repository with following command
curl -XPUT 'http://localhost:9200/_snapshot/azurebackup' -H 'Content-Type: application/json' -d '{ "type": "azure", "settings": { "container": "<blob_name>", "base_path": "<storage_account_name>"} }'
restore the snapshot with below command
curl -XPOST 'http://localhost:9200/_snapshot/azurebackup/snapshot_1/_restore'
checking status of the snapshot restore
curl -s "http://localhost:9200/_snapshot/azurebackup/snapshot_1/_status?pretty"