Content Server Manual / Version 2404
Table Of ContentsYou need to have database backups to recover from database failures. The backups are created with database tools. The chronological order of the backups is crucial:
Backup one of the Replication Live Servers.
Backup the Master Live Server.
Backup the Content Management Server.
Caution
Note, that recovery will not work correctly, if this given chronological order of backups is not respected. The content of the Content Management Server must be newer than the content of the Master Live Server, and the content of the Master Live Server must be newer than the content of the Replication Live Servers. The time between the single backups should be short. Try to avoid publishing deletions while the backups are made.
When you backup the database of any server, make sure that the database is consistent, that is, it represents the exact state of the database at a certain point of time. The exact backup procedure depends on your database product and likely on the configuration of your database.
If you use a custom blob store as described in Section 3.3, “Configuring Blob Storage” and if the blob data is not stored in the same database as the remainder of the content data, use the following procedure for each server:
Suspend deletion of unused blobs by sending a POST request to the
blobcollector
actuator endpoint, for example:curl -X POST -H "Content-Type: application/json" \ -d '{"suspend": true}' \ http://localhost:8081/actuator/blobcollector
For details, see Section 4.10.8, “Content Server Blob Collector Endpoint” in Operations Basics. Alternatively, you can set the property
sql.store.collector.suspend
totrue
and restart the Content Server.Wait 20 seconds to give the blob collector a chance to shut down.
Backup the Content Server database.
Backup the data store. This might be a file system backup or a backup of a separate database.
Resume deletion of unused blobs again, by sending a POST request to the
blobcollector
actuator endpoint, for example:curl -X POST -H "Content-Type: application/json" \ -d '{"suspend": false}' \ http://localhost:8081/actuator/blobcollector
Alternatively, you can set the property
sql.store.collector.suspend
tofalse
and restart the Content Server.
If the collector is suspended, it will collect blobs again when it is run the next time. By default, it runs once
a day. This might be a problem, if your backup procedure also mandates daily backups, continually preventing the
collection of blobs. If you see the message "Blob deletion is suspended" with log level info on the log facility
hox.corem.server.sql.SQLStore.blobcollector
more than occasionally, you should set the property
sql.store.collector.startTime
in such a way that the collector starts soon after your backup is
finished. The property sql.store.collector.startTime
is given in seconds after the start of the day
in the default time zone.