Три компонента, которые нужно резервировать
- База данных MySQL/PostgreSQL — пользователи, оценки, настройки, журналы.
- Директория moodledata — все загруженные файлы: задания студентов, материалы курсов.
- Код Moodle — менее критично, но удобно для восстановления кастомных плагинов.
Встроенный backup Moodle резервирует только курсы — это не полный бэкап системы!
Автоматический бэкап курсов
Site administration → Courses → Automated backup setup: ежедневно в 02:00, сохранять 30 дней, включить users и grade history.
Бэкап базы данных через cron
0 1 * * * mysqldump -u user -pPass moodle_db | gzip > /var/backups/moodle_$(date +%Y%m%d).sql.gz
find /var/backups/ -name "moodle_*.sql.gz" -mtime +30 -delete
Бэкап moodledata на S3
0 3 * * * aws s3 sync /var/moodledata/ s3://your-bucket/moodledata/ --delete
Подходит Yandex Object Storage, Selectel — российские S3-совместимые хранилища.
Проверка восстановления
Раз в квартал: разверните тестовый Moodle, восстановите базу из дампа, скопируйте moodledata, обновите config.php, проверьте вход и файлы. Бэкап без проверки — иллюзия безопасности.
Скачайте чек-лист готовности Moodle — там отдельный раздел по бэкапам. Также читайте: безопасность Moodle.
Опишите задачу — расскажу, как решить её конкретно в вашем случае. Свяжитесь — разберём вместе.