Skip to content

Latest commit

 

History

History
43 lines (27 loc) · 1.43 KB

File metadata and controls

43 lines (27 loc) · 1.43 KB

Mash - Alternative Moodle Shell Written in Go

Improved Moodle Automated Course Backup

Copy moodle/testdata/automated_backup_single.php under Moodle's admin/cli. (helper scripts will be embedded in the Mash binary in the future)

From Moodle's root: mash autobackup

Drop-in replacement for Moodle's ./admin/cli/automated_backups.php or Moodle's regular cron running automated backups.

Replaces the regular automated backups task with more efficient, concurrent, controlled version for large sites.

It operates by the definitions from Moodle's settings for automated backups from the database.

Respected Settings

  • backup_auto_active
  • backup_auto_max_kept
  • backup_auto_storage
  • backup_auto_destination
  • backup_auto_skip_modif_prev

In addition, if contextlocking setting is enabled, Frozen courses and courses under frozen categories will be skipped.

moodle go module

This will serve as a POC for the moodle/ go package

Unit Testing

Copy moodle/testdata/config-dist.php to moodle source direcotry, Adjust Parameters, Run clean installation of moodle (>=3.8).

Than symlink to moodle/testdata/config.php, This config.php need to contain $CFG->dirroot pointing to moodle's code

Than go test ./...

Some tests will need to create multiple backups, So it will sleep 1 minute between backups (Backups are timestamped to minute, so if we dont sleep it will override each-other)