The following page details the process and files stored for ZWE MOH machines:
Table of Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Backup Files and Process
The different databases/files for the e-Learning, VMMC and Analytic systems are backed up every 24hrs, at 1am local time. Resulting files are stored in the folder root/backups. Details about what is backed up is detailed on the table below.
Each server contains their own backups stored in the following folder:
Code Block |
---|
/opt/backups/ |
The process to backup files are triggered by multiple bash files inside the /opt/backups/ path of each app/service. The following table details the order that each script file is triggered in order to be backed up:
System | What is backup | Backup procedure | ||||||
---|---|---|---|---|---|---|---|---|
VMMC DB | Mongo DB | Mongo dump → compress compressed fileMoodle | ||||||
eLearning | Resource files |
| ||||||
Postgres SQL database | SQL dump → xxx.sql files folder | Superset Configuraiton (User, Dashboards, Connections, etc) | Dashbaord definitons | ./dasbharods/xxxxx.yaml API ? SQL backup ? Víctor Enrique Mendoza Yanes
| ||||
Superset | Config files |
| ||||||
Dashboard |
| |||||||
Database |
| |||||||
NiFi | Configuration folder (includes nifi flows, user credentials, etc) |
| ||||||
Datawarehouse | Postgres SQL Database |
| ||||||
Docker analytics volume | Volumes folder |
| ||||||
Docker elearning volume | Volumes folder |
|
...
File Naming Conventions
We use the following convention:
YYYY-MM-DD - the date that the backup was completed, local time
HH-MM: the time that the backup was completed, local time
[dwm]: one of these characters, depending if the backup is daily, weekly or monthly
“MOH_ZWE”+system: the name of the system backed up (MONGO, ELEARNING…)
databaseName: in the vmmc case, we also need to add the database name, we have to: db1 and dbOthers.
.X.X - The version of the associated product, to ensure “restorability”
.XXX the file extension
Resulting file names for MOH -ZWE-MOODLEZWE:
Moodle db: yyyy-mm-dd-hh-mm-moh-zwe-moodle-d-4.5.
...
sql.
...
YYYY-MM-DD-HH-MM-MOH-ZWE-MONGO.7.ZIP
...
giz
Moodle files: yyyy-mm-dd-hh-mm-moh-zwe-moodle—m-files.giz
VMMC db: yyyy-mm-dd-hh-mm-moh-zwe-d-mongo-dbOthers.gz
Superset: yyyy-mm-dd-hh-mm-moh-zwe-d-superset.3.giz
...
Retention Policies
In the absence of any mandate on backup frequency and retention, the following backup procedure was implemented for the various systems' databases, as of December 2024:
Daily backups, kept for 31 days
Weekly backups (Sunday), kept for 1 year
Monthly backups (last day of the month), kept for 7 years
For the Moodle folder, we implemented the following backup policy:
Daily backups, 31 days
Weekly backups, kept for 6 months
Monthly backups, kept for 7 years
The moodle files folder contains:
Language customizations
Files & images uploaded to Moodle
Cache storage
User session’s data
...
Storage needs
Average backup size & transmisison time
Mooodle DB
Moodle files
Backup | Year-to-date | Year 2-7 |
---|---|---|
Retention for databases | Last 30 days Last 52 weeks (Sunday) Last 12 month (Last day of month) = 94 backups | Last day of the month Year 2-7 = 72 backups |
Retention for Moodle files | Last 7 days | n/a |
Retention for Moodle files | Daily backups, 14 days Weekly backups, 6 months Monthly backup for 6 month | Monthly backups, kept for 7 years |
Moodle/ SQL | avg backup size: 1.0 Mb Transmission time: 5s | + 20% annual increase |
Moodle files | ||
VMMC Mongo | avg backup 5 .0 GB | |
Superset backup | avg backup 1.0 Mb |