All posts

Set up an automated data backup system with MinIO and CloudBerry

Data loss is more frequent that we think. Whether you lose data from your laptop or a mission critical application server, it can be devastating. You may not have faced it yourself, but think of people close to you — friends, family, colleagues—and you’ll find several instances of people losing critical personal or business data.

To avoid such loss, an automated data backup system is a must. In this post, I will explain how to set up an automated data backup system for your Linux, Mac or Windows machine using MinIO as the backend object store and CloudBerry backup as the desktop agent.

MinIO as the backend, enables you to store your data backup almost anywhere from a Raspberry Pi to a cloud VM instance on AWS/GCP. CloudBerry agents allow you to automate the backup process and add features like backup scheduler, encryption, and SSL to your backup system.

Before we move ahead to the setup, let’s understand what does a desktop agent do, and why do you need it. A desktop agent generally runs as a background process on the source computer and keeps track of the files changed since last backup, compresses and encrypts file data, triggers scheduled or manual backups, and even remove old files from the backend storage. Such agents serve as the frontend and help you interface with the whole data backup backend. CloudBerry offers Linux, Mac, Windows and SQL Server agents as its storage solutions. These agents can connect to MinIO and provide a reliable, automatic data backup solution.

Set up automated backup

To get started, you’ll need a MinIO server running on the platform of your choice. Follow this document to install and launch MinIO server. Once launched, keep the URL, access key and secret key handy.

Next step is to install the relevant CloudBerry desktop agent on the computer which you’d like to backup. I have taken the CloudBerry Linux backup agent as example in this tutorial.

Next, you’ll need to configure the agent to talk to the MinIO server. To do that, click on the “Backup Files” button and then select “S3 Compatible” under “Backup Plan: Cloud Storage”.

In the next window that appears, enter the MinIO server details like the endpoint, access key and secret key. You’ll also need to enter the bucket name where you intend to store the backup.

Once you add the account and create a backup plan, you need to choose the files/folders in your computer to be backed up. Next you’ll be asked to setup the retention policy, backup schedules and notification settings. This finishes the backup storage setting. If you have set a schedule for the backup, agent will trigger a backup and files will be uploaded to the MinIO server.

In case you scheduled a manual backup, click the backup plan you just created and then trigger the backup using the play button on the top menu bar. You can track the backup process via the progress bar at the bottom of CloudBerry agent window.

Once the backup finishes, you can connect to the MinIO server via the web UI or using the MinIO Client (mc) tool and check if the files are actually uploaded.

Summary

In this post we learnt about the MinIO cloud storage server and CloudBerry backup agent. We saw how to connect the CloudBerry agent to the MinIO server and create a reliable, automated, and exhaustive data backup system.

While we could not explore all the available CloudBerry backup agents, it is important to mention that CloudBerry also provides backup agents for Windows, Mac, Microsoft SQL Server and Microsoft Exchange Server. If you’re working on any of these platforms, you can easily setup an automated data backup system using MinIO as the backend.

Read more about MinIO storage stack here

We hangout on Slack, join us there: https://slack.minio.com

While you’re at it, help us understand your use case and how we can help you better! Fill out our best of MinIO deployment form (takes less than a minute), and get a chance to be featured on the MinIO website and showcase your MinIO private cloud design to MinIO community.