Backopper is a small tool created in go to assist with the creation of backups for all the selected projects.
Backopper was built with developers in mind. It enables developers to quickly and easily access database backups without having to mess with SSH, database credentials, etc. It also gives the clients peace of mind knowing that if something were to happen, all their products, images, blog posts and images are safe and sound. It supports both MySQL and PostgreSQL.
The way it works, in short, is the following:
First, it reaches cloud-admin to fetch a list of the projects that are to be backed up on each instance. Then, for each project, it sets a cron-job based on the specified frequency.
Once the time comes, the cronjob will execute the database dump and save it both locally and on AWS S3 so that if something happens to the server, the backup is safe somewhere else as well. It also handles the backups of media files (although this is only supported for Laravel or Wordpress projects).
If you would like to read a more in-depth explanation, check out the repo below.
Live repo: github.com/opper/backopper