How to take backup of Discourse hourly in a day

AI-generated summary

The discussion revolves around taking hourly backups of Discourse and understanding what is included in the backups. pprp initially inquired about hourly backups and was informed by rishabh that the admin panel only allows for daily backups. To achieve hourly backups, Falco suggested using a custom script with pg_dump.

Regarding what is included in the backups, merefield explained that the inbuilt backup functionality only includes the database and does not include the file system or app.yml. To fully recreate a server, a copy of app.yml and the inbuilt backup are needed.

pprp asked if all additional settings would be preserved when restoring from a backup, and merefield confirmed that they would be, but noted the importance of updating DNS settings if the IP address changes.

Hi,

Could you please help on below:

  1. How to take backup of Discourse hourly in a day. Is it possible to do it from “/admin/site_settings/category/backups” ? or should check PostgreSQL backup mechanism?

  2. Can you confirm - what ever back ups created under “admin/backups” is only just Database Backup or entire Discourse backup ?

Thank you.

You can view all Backup related settings at Admin > Settings > Backups and modify the backup frequency setting to enable daily backups.

These backups will contain all your Discourse data, this thread will have some more pointers:

Thank you so much for your response. I have already configured the automatic back up Discourse data every day.

But, I would like to take back up of Discourse multiple times in a day. Example: For every 2 hours or 6 hours in a day. How can this be achieved ?

Thank you.

I would use WEBMIN for something like that,
They have a BACKUP area that you can adjust times and dates and restore and backup sites.

How would webmin trigger Discourse to perform a backup?

Can any one please let me know, if it possible to take back up of Discourse multiple times in a day. Example: For every 2 hours or 6 hours in a day.

That’s not supported using a simple admin setting.

You will need to roll your own pg_dump and uploads script for that.

Thanks so much for the response. I will try with pg_dump as suggested.

Hi,

I have one question on Discourse back up:

What ever backups that we see at Admin > Settings > Backups: is it included with file system backup also, or is it just database backup alone ?

Thank you.

It doesn’t include app.yml I believe. You should keep a copy of that somewhere safe. Obviously this doesn’t change very much or often.

To recreate your server you generally only need:

  • app.yml
  • a back-up of the forum generated by the inbuilt functionality.

It should only take about 30 minutes to recreate the server with these two things available.

Hi @merefield,

Thank you so much for the response.

Ok, so once I recreate the new server with (backup) app.yml and the back-up ( Admin > Settings > Backups), then all the additional settings that were added to UI or any additional (admin) settings in old discourse server will be appearing in new server ? (I mean, the newly created server will be exactly like copy of old server with out any data loss) ?

You will need to repoint your DNS (A record) to your new IP too (if that has changed).

yeah, that point (DNS & IP) will be taken care. Thank you.