Когда это нужно
Перенос курсов между инсталляциями — повседневная задача: разработали курс на тестовом сервере и переносите на боевой, объединяете два кампуса, выносите шаблонный курс на новый учебный год или передаёте курс в другую организацию. Сделать это правильно — значит не потерять структуру, настройки и вложения.
Формат резервной копии курса
Moodle хранит курс в собственном архиве с расширением .mbz. Это, по сути, упакованный набор XML и файлов курса. Создаётся через «Курс → Резервное копирование», скачивается и восстанавливается на другом сервере через «Восстановить». В мастере резервного копирования вы выбираете, что включать: материалы, активности, банк вопросов, и — отдельно — пользователей и их данные.
С пользователями или без
| Сценарий | Включать пользователей |
|---|---|
| Шаблон курса на новый год | Нет — только структура |
| Перенос с тестового на боевой | Нет — студентов добавят отдельно |
| Полное архивирование/аудит | Да — с оценками и попытками |
| Передача в другую организацию | Нет — ПДн не передаются |
Перенос пользовательских данных между организациями — это передача персональных данных, поэтому по 152-ФЗ почти всегда копируют только структуру курса, а слушателей заводят заново на принимающей стороне.
Импорт вместо восстановления
Если оба курса на одном сервере, не нужен файл .mbz — есть функция «Импорт», которая переносит элементы из одного курса в другой напрямую. Это быстрее и удобнее для копирования заданий или банка вопросов между курсами одной инсталляции.
Главные подводные камни
- Разные версии Moodle. Восстановить .mbz со старой версии на новую обычно можно, а наоборот — нет. Сначала выравнивайте версии или обновляйте источник.
- Отсутствующие плагины. Если в курсе есть активность H5P или нестандартный модуль, а на целевом сервере плагина нет — элемент потеряется. Сверяйте список плагинов заранее.
- Размер файла. Большие курсы с видео упираются в лимит загрузки PHP. Крупные архивы переносят через файловую систему сервера, а не через браузер.
- Битые ссылки. Внутренние ссылки на старый домен после переноса ведут «в никуда» — их нужно переписать.
Массовый перенос
Перенести один курс просто, но мигрировать сотни курсов кликами в браузере — это недели работы. Для массового переноса используют CLI-скрипты Moodle и автоматизацию через файловую систему. Если у вас полная миграция инсталляции или объединение серверов, разовая автоматизация окупается многократно.
Вывод
Резервная копия и восстановление .mbz закрывают перенос отдельных курсов, импорт — копирование внутри сервера, а массовая миграция требует скриптов и сверки плагинов. Помогу перенести курсы без потери данных и настроить процесс под ваш цикл обновления — напишите мне.
Опишите задачу — расскажу, как решить её конкретно в вашем случае. Свяжитесь — разберём вместе.