dokku / dokku-postgres

a postgres plugin for dokku
MIT License
491 stars 97 forks source link

Question: Best Practices for Configuring Health Checks on DB Backups #314

Open n8creator opened 7 months ago

n8creator commented 7 months ago

Hey there! I'm looking to set up automatic database backups on S3 for my applications (I have several of them), and I want to implement health checks to monitor if the database is being backed up according to the schedule. Typically, I make an HTTP GET request to an external service, like so:

curl -m 10 --retry 5 https://hc-ping.com/your-uuid-here

What would be the best way to trigger these calls after the backup-schedule command being executed, such as:

dokku postgres:backup-schedule lollipop "0 3 * * *" my-s3-bucket

Any suggestions or best practices would be greatly appreciated! Thanks in advance for any help.

josegonzalez commented 7 months ago

There isn't a way to do what you're asking here unfortunately.

n8creator commented 7 months ago

There isn't a way to do what you're asking here unfortunately.

Ok, thanks for quick answer!

josegonzalez commented 7 months ago

I'm going to reopen this. It's a good suggestion, just not sure how we can implement it.

viniciusoyama commented 3 months ago

Here's a suggestion:

To theck

What if we use the the cron expression ( like "0 3 *" ):

1) fetch the last created_at object from s3 2) check if it's before the current time minus the last time that the cron should be running (using the cron expression)

We can complicate a little bit more considering the time that takes to run a backup. Maybe saving the time of the last backup and consider it to calculate the item 2 .

How to notify

Is the backup working?

Note that this doesn't verify the backup file integrity. Only that there is a file.