Curiosity supports live incremental backups of all data stored in your deployment.
You can configure either directly from the user interface or from the command line / YAML file if you are for example deploying using Docker.
You can add a backup scheduled task under the Maintenance > Backup and Restore settings page:
You can configure backup in two ways. One is via flags passed during the system initialization (see here for how), the other is manually via the UI.
Configuring Backup in the user interface
To create a new backup location, click on New Backup Task:
Set the path where you would like to store the backup data, optionally change the time and frequency this task will run with the CRON expression field, and click Save.
You can click on the Run Once button to immediately create a backup. The process will run in the background.
Configuring backup using the command like / YAML File
This can be easily configured using either a command argument or the YAML file in the working directory, by setting the MSK_GRAPH_BACKUP_FOLDER configuration flag to point to where the backup should be saved:
Once you have configured this, restart your Curiosity instance and the system will automatically recognize your configuration and create a scheduled task to perform the backup:
You can change the time and frequency this task will run by editing the backup task, and configuring the CRON expression accordingly. You can also disable the task from that interface. If you accidentally delete the task, it will be automatically recreated on next restart.
The Target Path field should be left empty in this case, as it will default to the value configured on the command line.
Creating a Backup on demand
If you want to create an out-of-schedule backup, you can manually run the backup task. Just click on the Run Once button on the Backup settings page:
You can follow the logs to see the task progress:
Restoring a backup
In order to restore a backup, go under Settings > Maintenance > Backup & Restore, select from the list the backup date you would like to restore from, and click the Restore button:
This will immediately shutdown your current system, and trigger the restore process the next time it is started again.
If you are restoring a system in a new place, it is important to use the Command Line / YAML Configuration as explained above to set the backup folder, so that you can see the existing backup on disk in the setting page.