VCS supports hot backup of your data. This backup is done in two steps:
- making a SQL Dump of the database, used to store all metadata of your repository and others datasources
- saving the data on filesystem (blobstore) located in $JBOSS/server/default/data/NXRuntime/binaries
Two elements allow saving the filesystem once the database has been dumped:
- on the first hand, when you add a document in the repository, VCS computes the digest of the blob: it is this digest which is used as the filename of the document stored in the filesystem. That way, if a user uploads a different document but which has the same filename, the blob stored on filesytem won't be changed: a new blob with a different digest will be put in the blobstore.
- on the other hand, blobs are not deleted as soon as the document is removed from the repository
These two points ensures that no data will be modified (or deleted) after dumping your database. Only creation could happen.
So the backup of the filesystem will be consistent with the backup of the database.
Some remarks about VCS:
- as VCS uses the digest of the blob, this ensures a document will be stored only once in the blobstore, even if it is uploaded several times.
- as VCS doesn't delete blobs once a document is removed from the repository, we provide a script remove-deleted-blob.sh available under $jboss/bin to purge the blobstore
For PostgreSQL an example of backup/restore script is provided here. Please adapt it to your needs and test it before using it in a production environment.
Labels:
None