A course can be saved with some or all of its parts by using the course backup. Typically, the site administrator will set a schedule of automated course backups for the whole site. A teacher can create a backup or download an existing backup for safe keeping, or for use on another Moodle site.
Backing up a course
To backup a course
- Go into the course.
- From Course navigation > More > Course reuse, select 'Backup'.
- Initial settings - Select activities, blocks, filters and other items as required then click the Next button. Users with appropriate permissions, such as administrators and managers, can choose whether to include users, anonymize user information, or include user role assignments, groups, groupings, user files, comments, user completion details, course logs and grade history in the backup.
- Schema settings - Select/deselect specific items to include in backup, then click the Next button.
- If desired, select specific types of activity to be backed up by clicking the link 'Show type options'
- Confirmation and review - Check that everything is as required, using the Previous button if necessary, otherwise click the 'Perform backup' button
- Complete - Click the Continue button
A backup file (with distinctive .mbz extension to avoid confusion with .zip files) is then saved in the course backup area. Backup file names are of the form backup-moodle2-course-coursename-date-hour.mbz, ending in -nu.mbz when backed up with no users and -an.mbz with anonymized names.
Tip: If you are satisfied with the default settings and don't wish to go through all the backup screens, you can simply click 'Jump to final step' to perform the backup.
Anonymizing user information
Anonymize user information is a backup feature which "protects user identities" by making each user anonymous. If this box is checked in the backup initial settings, Moodle will substitute aliases for real names, substituting @doesntexist.com email addresses and so forth. For example "Max Manager" might become "anonfirstname4 anonlastname4".
Asynchronous course backups
Note: With large courses it is helpful to be able to continue working while a course backup is being made. To achieve this, you need to enable asynchronous backups in Site Administration / Courses / Backups / Asynchronous backup/restore.
Backup via CLI for administrators
Site administrators can backup selected courses using a CLI script.
--courseid=INTEGER (Course ID for backup.) --courseshortname=STRING (Course shortname for backup.) --destination=STRING (Path where to store backup file. If not set the backup will be stored within the course backup file area.) -h, --help (Print out this help.)
sudo -u www-data /usr/bin/php admin/cli/backup.php --courseid=2 --destination=/moodle/backup/
On Windows you will use cmd.exe to run the /admin/cli/backup.php script. If you have your Moodledata folder setup on a separate data server you can specify a UNC path to your backup folder on that data server. From the command line CD to the Moodle \admin\cli folder and run this command:
php backup.php --courseid=25 --destination=\\moodledata\backup
where '--courseid' is the id of the course that you want to backup.
The .mbz backup file for courseid=25 will be stored in the backup subfolder in the Moodledata ($CFG->dataroot) folder.
The backup and restore processes can offer the teacher and administrators many creative solutions.
- Duplicating courses or specific activities in one course to another course (similar to Import)
- Updating a production Moodle site course, with material from a localhost site course
- Transferring a course to a new Moodle site.
- In earlier versions of Moodle, a way of rolling a course forward without past student activity
- Creating a blank activity, save just that activity and then restore it to the course or another course one or more times.
General backup defaults
Default settings for course backups can be set by a site administrator in 'General backup defaults' in the Site administration.
Selected settings may be locked, so that they cannot be changed when creating a course backup.
By selecting a time in the "Keep logs for.." dropdown, it is possible to specify how long backup logs information is kept before being deleted. As this information may be very large, it is recommended the length of time chosen be quite short.
Course backup stops above 90%, not showing any errors
This has been reported to be caused by:
- a non-standard course_format. Try replacing the course format.
- not enough server RAM. Adding more RAM to your server is usually the first performance recommendation.
Course backup capabilities
- Anonymise user data on backup
- Backup courses
- Backup sections
- Backup for import
- Configure backup options
- Download files from backup areas
- Backup user data
Error: Trying to restore user 'admin' from backup file will cause conflict
- Before proceeding, it would be advisable to have a second admin account just in case something goes wrong.
- Check that the admin accounts on each server have different unique usernames and email addresses and then try again to backup up the course with user data and restore it.
- If you can not make a new backup and you must use an existing 'conflicting' backup file, you will have to change the new site's main admin account with extreme care to remember the new main admin's password and email.
- Note that the admin account from the imported file may loose the password and become unusable;
- You are advised to update/reset the 'imported' main 'admin's account's password before logging out, as this will most likely be the main 'admin' account for the site, and you would get into serious problems if this account stops working.
- If something goes terribly wrong, you can use the second admin account to fix the main admin account.