Site restore
If you have followed the Site backup instructions and created a backup of a Moodle site, you may need to know how to restore the site backup you created.
There are 3 areas that could be restored individually or together:
- Moodle code
- Moodle uploaded or created files
- Moodle database - MySQL, Progres or other
The location and names of these areas can be found in the Configuration file.
Command line (linux) restore
Here is a set of basic steps that make up the restore process.
1. Rename the original Moodle directory to something different (so you still have it) and copy the backed up Moodle directory or a newly downloaded Moodle directory in its place.
2. If you are running MySQL, a backup of the database should be a .sql, .gz or .tar.gz file. If it is .tar.gz or .gz you need to extract it until it is an sql file.
tar -xzvf moodlesqlfile.tar.gz
3. If you are running mysql, import the SQL file back into a newly created database on the MySQL server. Be careful here, some backups try to import right back into the same working database that Moodle is connected to. This causes database problems that damage a Moodle installation. The best thing to do is make a new database, restore the backed up database into it, and change the Moodle config.php file to connect to this new database (this way you still have the original database).
Once you have created the new database:
mysql -p new_database < moodlesqlfile.sql
For other databases, follow their instructions for restoring a backup.
Tools for site backup and restore
- phpMyAdmin
- MySQLdump
Tools for backing up data files
Restore with phpMyAdmin
Restoring a backup of a MySql database
- Open the database to restore
- Click the SQL tab.
- On the "SQL"-page, unclick the show query here again.
- Browse to your backup of the database.
- Click Go.
Change site identifier
If this a clone of the original site – for example, a test copy of a live site – generate a new identifier for the new site after restoring:
- Delete the 'siteidentifier' record in
mdl_config
, for example, usingDELETE FROM mdl_config WHERE name = 'siteidentifier'
. Change 'mdl_' if the site has a different$CFG->prefix
. - Purge all caches.
This prevents problems mapping users when restoring course backups from the original site.