Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
n8creator opened this issue Mar 29, 2024 · 4 comments
Open

Comments

@n8creator
Copy link

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
Copy link
Member

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

@n8creator
Copy link
Author

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

Ok, thanks for quick answer!

@josegonzalez
Copy link
Member

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

@josegonzalez josegonzalez reopened this Mar 31, 2024
@viniciusoyama
Copy link

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

  • If there is like "N (configurable) checks with error" the user can setup a smtp server that we can use to notify some email.
  • A little more complex is to run this checker with node installed so the user can run some js script (configured via mount)
  • Another more complex is to run this checker passing the docker socket and some folder/file so the user can execute some script

Is the backup working?

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants