Business continuity with Moodle backup

This post looks explores business continuity with Moodle Backup.

As a system administrator (sysadmin) you understand the importance of business continuity, backups and the ability to restore data should an unexpected problem result in systems or information becoming unavailable. The full range of options available to you is extensive, both within Moodle and any associated cloud and hardware services.  The number of variations and permutations to consider can be overwhelming. This post outlines the core backup capabilities of Moodle itself and some of the hardware and cloud options available. We explain their purpose and when to consider them.


Moodle backup basics

Moodle learning management systems (LMS) have a full site backup capability allowing sysadmins to store the full site contents. Once you have a site backup on storage media, you can recover it to the exact state its was in when you backed it up. This backup feature makes it straightforward to protect your organisation’s delivery of learning services against a variety of issues, including those related to disasters, such as failures to fires and floods, and even security threats, such as attacks from ransomware or hacking. 

As a sysadmin, you should have operational procedures for running your Moodle site which include performing backups on a schedule that best suits your business’s recovery needs. We covered some options for recovery objectives in an earlier blog, however, for completeness, there are two things to consider:

Recovery point objective (RPO)

RPO is the time between the moment you lost the service and the last backup (i.e. the point at which your last backup was taken). RPO determines the maximum data loss your business can tolerate.

Recovery time objective (RTO)

RTO is the amount of time to cover your site. Both metrics are useful when considering a solution, as the lower the RPO and RTO, the higher the cost. 

Moodle sites contain three main areas of consideration when you are deciding what to include in your backups: . First, a collection of scripts and code that needs to be restored during a full recovery. To find out where all this data is stored, you can check your Moodle site’s config.php file. Next, you need to store the data contained within your Moodle database. Finally, any uploaded files need to be saved, such as your uploaded course content. If you recover these three data stores, your site will restore back to the state it was in when the backup was taken.