Backup do Moodle: a rotina que salva a instituição
Banco, moodledata e código: o que copiar, com que frequência e como provar que a restauração funciona antes do desastre chegar.
por Cleverson Gouvêa
O backup do Moodle é a rotina que ninguém elogia — até o dia em que ela salva o semestre. Um professor apaga a unidade errada, um upgrade trava, um disco falha na véspera das provas. A diferença entre um susto de vinte minutos e uma crise de três semanas foi decidida meses antes, na rotina que você montou (ou não montou).
Escrevo como desenvolvedor full stack, certificado em Moodle e fundador da Agathas Web, administrando ambientes Moodle em produção desde 2008 — incluindo instalações com milhares de alunos simultâneos. Este texto é a conversa sobre backup do Moodle que tenho com todo gestor de EAD na primeira reunião técnica: o que copiar, com que frequência, como testar e onde a conta estoura.
TL;DR — o essencial
- Um backup do Moodle completo tem três peças: banco de dados,
moodledatae código. Faltando uma, você tem um arquivo, não um backup.- O backup de curso (
.mbz) não substitui o backup do Moodle inteiro. Ele nem carrega as senhas dos usuários.- Um backup do Moodle que nunca foi restaurado é hipótese, não garantia. Teste a restauração todo mês, com cronômetro.
- No relatório State of Ransomware in Education 2026 da Sophos, 77% das instituições de educação básica e 69% das de ensino superior recuperaram dados criptografados a partir de backups. O custo médio de recuperação no setor foi de US$ 2,26 milhões.
- A Resolução CD/ANPD nº 15/2024 dá três dias úteis para comunicar incidente com dados pessoais. Descobrir que o backup não presta no terceiro dia é tarde.
As três peças do backup do Moodle (e por que duas não bastam)
A documentação oficial do Moodle é direta: um backup de site tem três componentes. Quem copia só um descobre a falha tarde demais.
1. O banco de dados
É o coração do backup do Moodle e onde vive tudo que não é arquivo: usuários, matrículas, notas, tentativas de questionário, fóruns, logs, configurações e a estrutura de cada curso. Sem ele, os arquivos do moodledata viram blobs sem nome e sem dono.
O alerta da documentação vale repetir: dump com codificação errada volta com acentuação quebrada em todo o conteúdo em português. Use UTF-8 explicitamente e confira antes de confiar.
2. O diretório moodledata
É o diretório fora do webroot onde o Moodle guarda arquivos enviados, submissões, imagens de curso, cache e sessões. Num backup do Moodle de instituição média ele é, de longe, a maior fatia de volume — e a que mais cresce sem ninguém perceber.
3. O código e os plugins
O código você baixa de novo do site oficial. O que não se baixa é o config.php, o tema customizado, os plugins de terceiros nas versões exatas que rodavam e os patches aplicados à mão. Um backup do Moodle sem o diretório de código obriga a reconstruir o ambiente por arqueologia — e é aí que o RTO estoura.
Backup de curso (.mbz) não é backup de site
É a confusão mais cara que encontro em auditoria de backup do Moodle. O professor exporta o curso, guarda o .mbz no Drive e dá o assunto por resolvido. Não está.
O .mbz é, por padrão, um TGZ com a estrutura do curso (dá para usar ZIP com $CFG->usezipbackups = true; no config.php). É excelente para mover um curso entre sites, clonar disciplina ou recuperar atividade apagada. E é péssimo como plano de recuperação de desastre, por três motivos:
- As senhas não vão no backup, mesmo marcando "incluir usuários matriculados". Restaurar em outro servidor significa todo mundo redefinindo senha.
- Nem tudo entra. A FAQ oficial de backup e restauração lista exclusões como questões fora de uso, escalas não utilizadas e badges ainda não concedidos.
- Ele ignora o site. Configurações globais, plugins, autenticação, integração com o sistema acadêmico, temas — nada disso está no
.mbz.
Regra prática: .mbz é ferramenta pedagógica e de portabilidade. Backup do Moodle enquanto plataforma é infraestrutura — e mora em outro lugar.
Defina RPO e RTO antes de escolher a ferramenta
Antes da primeira linha de script, responda em números as duas perguntas que definem o backup do Moodle na sua instituição. RPO (Recovery Point Objective) é quanto conteúdo você aceita perder, em tempo. RTO (Recovery Time Objective) é quanto tempo você aceita ficar fora do ar.
A resposta muda o desenho inteiro. Um Moodle corporativo com conteúdo estático tolera RPO de 24 horas. Um Moodle com prova online valendo nota não tolera 15 minutos — perder as tentativas em andamento significa anular a avaliação de centenas de alunos.
| Cenário | RPO aceitável | RTO aceitável | O que resolve |
|---|---|---|---|
| Professor apagou uma atividade | Última noite | 1 hora | Backup automático de curso (.mbz) |
| Upgrade de versão deu errado | Momento pré-upgrade | 2 horas | Snapshot completo + rollback ensaiado |
| Disco / servidor perdido | 15 min a 24 h | 4 a 8 horas | Dump offsite + moodledata replicado |
| Ransomware | 24 h (cópia imutável) | 1 a 3 dias | Cópia offline/imutável fora do domínio |
| Erro descoberto 20 dias depois | 30 dias de retenção | 1 dia | Retenção longa + versionamento |
Essa tabela é conversa de diretoria, não da TI sozinha: dimensionar o backup do Moodle é decisão de negócio, e cada degrau a menos custa storage e janela de manutenção.
Como configurar o backup automático de cursos no Moodle
O Moodle traz uma rotina nativa de backup de cursos que roda pelo cron, em Administração do site → Cursos → Backups → Configuração de backup automatizado (backup_auto_active). É o primeiro degrau do backup do Moodle em qualquer instituição — desde que você conheça os limites.
Passo a passo do que configurar:
- Ative a rotina e escolha dias da semana e horário de execução.
- Aponte o destino para fora do disco do Moodle. A documentação recomenda escolher um caminho "em outra máquina ou em um drive diferente daquele onde o Moodle está". Deixar no
moodledatapadrão lota o disco rápido. - Ajuste os filtros de escopo: Skip hidden courses (padrão: sim) e Skip courses not modified since (padrão: 30 dias). Poupam processamento — e são a razão pela qual aquele curso arquivado nunca apareceu no backup.
- Calibre a retenção, que é onde quase todo mundo escorrega.
- Confirme que o cron roda de verdade. Sem cron ativo, a configuração fica bonita na tela e não gera um único arquivo. Pela linha de comando:
php admin/cli/automated_backups.php.
A armadilha da retenção
Três configurações interagem sem que o Moodle valide a combinação: backup_auto_max_kept (máximo por curso), backup_auto_delete_days (apaga o que passar de X dias) e backup_auto_min_kept (piso que nunca é removido). Se o piso for maior que a contagem real por curso, a limpeza não acontece — e o disco enche em silêncio até o Moodle parar de gravar. Ao mexer nesses valores, refaça a aritmética.
A armadilha da janela
A documentação avisa: rodar a rotina sobre todos os cursos é intensivo em processamento e não deve acontecer com muitos estudantes no ar. Em instituição brasileira, o pior horário é das 19h às 22h — quando o aluno que trabalha de dia entra na plataforma. Agendar para 20h é autossabotagem.
O backup de infraestrutura que o Moodle não faz por você
A rotina nativa cuida de cursos. O backup do Moodle como plataforma é de quem administra o servidor — e é aqui que a hospedagem genérica deixa a instituição na mão. Sem um sysadmin dedicado, essa lacuna é exatamente o que uma hospedagem Moodle gerenciada fecha. O desenho mínimo que uso em produção:
- Dump lógico do banco, diário e consistente:
mysqldump --single-transaction --default-character-set=utf8mb4 moodle > moodle.sql(em PostgreSQL,pg_dump -Fc). A transação única evita travar as tabelas InnoDB durante a cópia. - Binlog para point-in-time recovery. O dump diário dá RPO de 24 horas; o binlog derruba isso para minutos, reconstruindo o banco até o instante anterior ao erro.
moodledataporrsyncincremental, com hard links entre gerações para não duplicar terabytes que nunca mudam.- Código versionado em Git, com
config.phpe credenciais fora do repositório, guardados em cofre. - Regra 3-2-1: três cópias, duas mídias, uma fora do site. Contra ransomware, acrescente uma cópia imutável — atacante com credencial válida apaga o backup antes de criptografar o servidor. Não por acaso, 85% dos ataques de ransomware ao setor educacional usaram técnicas baseadas em identidade, segundo a Sophos (226 líderes de TI em 17 países).
- Criptografia em repouso no destino offsite. Backup de Moodle contém CPF, e-mail, nota e histórico: é dado pessoal sob a LGPD, inclusive de menores.
Restaurar é o único teste que vale
Backup do Moodle não testado é fé, não é processo. Se você descobre o dump corrompido no dia do desastre, o backup do Moodle nunca existiu — existiu a sensação de ter um.
Quatro armadilhas de restauração de backup do Moodle que já me morderam:
Versão de destino. A regra oficial é clara: restaure em um Moodle de versão igual ou mais nova que a de origem — backup de 5.1 num site 4.5 falha. Se você está planejando o salto de versão, vale ler antes o que muda no upgrade do AVA para a LTS atual. Incompatibilidade de plugin se descobre no staging, não na emergência.
Timeout em curso grande. Restaurar pela web um curso com muitos GB de anexos estoura o limite de tempo do PHP. Para isso existe a CLI: php admin/cli/restore_backup.php --file=/caminho/curso.mbz --categoryid=1.
Conflito de usuários entre sites. Ao restaurar em outra instalação, contas com mesmo username e e-mail diferente colidem. Defina a política de correspondência antes, não no meio do processo.
Restauração parcial mal compreendida. Recuperar conteúdo apagado por engano raramente exige restaurar o site inteiro — costuma ser caso de restauração seletiva de curso. O caso da UFOP, que analisei em exclusão de conteúdos e como salvar o backup, mostra a diferença entre limpeza planejada e perda acidental.
O ensaio mensal, em 40 minutos
Reserve uma janela mensal: derrube um ambiente de teste, restaure o dump mais recente, suba o moodledata, aponte o config.php para o banco restaurado, entre como administrador e confira três cursos, uma nota e um arquivo enviado. Cronometre. Esse número é o seu RTO real — não o do contrato.
Quando NÃO fazer backup do jeito que você está pensando
Nem toda cópia é útil, e algumas rotinas de backup do Moodle são ativamente ruins:
- Não use
.mbzcomo arquivo morto institucional. Ele não preserva o contexto do site e envelhece mal entre versões. Para histórico acadêmico, exporte relatórios e notas em formato aberto. - Não guarde backup no mesmo disco nem no mesmo servidor. Falha de disco leva os dois. Ransomware também.
- Não agende backup completo em horário de pico. Troca risco de perda por certeza de lentidão.
- Backup pré-upgrade não substitui staging. O snapshot permite voltar; não revela que o plugin de matrícula quebrou. Isso só a homologação mostra — foi o que discuti ao analisar os prazos e a rotina de backup do AVA da UnB.
- Não retenha backup indefinidamente "por segurança". Cada geração antiga carrega dados pessoais que a LGPD manda eliminar quando a finalidade se encerra. Defina prazo de retenção por escrito.
Custos reais: o que enche o disco e a fatura
O backup do Moodle tem três centros de custo que só aparecem depois. O primeiro é o volume: backups automáticos gravados no moodledata são o motivo número um de disco cheio. O segundo é o tráfego de saída do storage offsite, que nunca entra na planilha e só dói no dia da restauração, quando você baixa tudo de uma vez. O terceiro é tempo de gente sênior: o ensaio mensal custa horas de quem sabe o que está fazendo.
Há também um custo de calendário. O Moodle 4.5 LTS saiu em 7 de outubro de 2024 e recebe correções de segurança até 4 de outubro de 2027; a próxima LTS, a 5.3, está prevista para 5 de outubro de 2026, segundo o calendário oficial de releases. A janela de migração vem aí, e nenhuma migração começa sem um backup do Moodle validado. Quem chega em outubro sem rotina testada adia o upgrade — e adiar LTS é acumular dívida de segurança.
Para comparar: o relatório da Sophos aponta 26% das instituições de ensino levando de um a três meses para se restabelecer após ransomware. Storage é barato perto disso.
Como a Agathas Web resolve isso
Na hospedagem Moodle gerenciada da Agathas Web, o backup do Moodle não é item de checklist: é rotina operada e verificada por nós, com SLA em contrato. O que está incluso:
- Backup diário do banco + binlog incremental a cada 15 minutos, o que põe o RPO na casa dos minutos.
- Storage offsite criptografado em AES-256, fora do servidor de produção.
- RTO contratual de até 4 horas para as últimas 24 horas, via point-in-time recovery e snapshots.
- Teste de restauração mensal, executado por nós e reportado no relatório executivo — porque backup que não restaura não é backup.
- Rotina nativa de cursos calibrada: retenção, filtros e janela ajustados ao seu calendário acadêmico, não ao padrão de fábrica.
- Upgrade de LTS em até 90 dias do release, com staging e rollback, mantendo o ambiente antigo por 30 dias.
- Zero lock-in: se decidir sair, entregamos o backup completo em formato padrão.
Como se contrata: peça o diagnóstico gratuito da plataforma atual pelo WhatsApp ou pelo formulário da página. Em até três dias úteis devolvemos um parecer com gargalos, riscos de continuidade e proposta. Havendo migração, ela é assistida em até cinco dias úteis, com homologação em staging e cut-over em janela noturna ou de fim de semana. Contratos mensais, sem fidelidade longa.
Ressalva honesta: se você já tem sysadmin dedicado e rotina de disaster recovery testada, não precisa de nós para isso — basta conferir se o ensaio mensal acontece mesmo. O serviço faz sentido para quem roda EAD sem time de servidor, que é a maioria das instituições de médio porte no Brasil.
Conclusão: a rotina que salva a instituição
Backup do Moodle não é produto que se compra e esquece. É processo com quatro obrigações: copiar as três peças (banco, moodledata e código), definir RPO e RTO em números acordados com a diretoria, guardar cópia fora do servidor e restaurar de verdade, todo mês, com cronômetro. Quem faz as quatro transforma desastre em incidente. Quem faz duas descobre a diferença no pior dia possível.
Se não sabe qual desses quatro pontos está falhando hoje, peça o diagnóstico gratuito na página de hospedagem Moodle da Agathas Web. Respondemos em até três dias úteis com um parecer técnico — os mesmos três dias úteis que a ANPD te daria para explicar um incidente.
Perguntas frequentes
Com que frequência devo fazer backup do Moodle?
Depende do RPO que a instituição aceita, e essa é uma decisão de negócio, não de TI. Para um Moodle com aulas assíncronas e conteúdo estável, um dump diário do banco somado a uma cópia incremental do moodledata resolve. Para plataformas com avaliação online valendo nota, o diário não basta: é preciso binlog transacional, que reduz a perda potencial a minutos. A rotina nativa de backup de cursos deve rodar de duas a três vezes por semana, fora do horário de pico. Vale reforçar: frequência sem teste de restauração não protege ninguém. Melhor ter backup diário testado do que backup de hora em hora que nunca foi restaurado.
O backup automático de cursos substitui o backup do servidor?
Não. A rotina nativa gera arquivos .mbz por curso, e o .mbz não carrega as senhas dos usuários, as configurações globais do site, os plugins instalados, o tema, a autenticação nem as integrações com o sistema acadêmico. Se o servidor for perdido, restaurar cem .mbz em uma instalação nova significa reconstruir o ambiente inteiro à mão e obrigar todos os usuários a redefinir senha. O backup de curso é ferramenta pedagógica e de portabilidade — ótimo para clonar disciplina ou recuperar uma atividade apagada por engano. Recuperação de desastre exige as três peças: dump do banco, moodledata e o diretório de código com config.php e plugins nas versões exatas.
Posso restaurar um backup do Moodle em uma versão diferente?
Para cima, sim; para baixo, não. A documentação oficial orienta restaurar em um Moodle de versão igual ou mais nova que a de origem. Um backup gerado no 5.1 restaurado em um site 4.5 falha ou corrompe dados, porque a estrutura do banco mudou. O caminho seguro é atualizar o ambiente de destino primeiro e só então restaurar. Atenção também aos plugins de terceiros: mesmo com o core compatível, um plugin abandonado pode não existir na versão de destino, e a restauração completa depois de um desastre não é o momento de descobrir isso. Teste o par backup/versão em staging antes de qualquer janela de upgrade.
Por que o disco enche com os backups automáticos do Moodle?
Porque o destino padrão dos backups automáticos é o próprio moodledata, no mesmo disco do site, e as três configurações de retenção não se validam entre si. São elas: backup_auto_max_kept (máximo de backups por curso), backup_auto_delete_days (apaga o que for mais antigo que X dias) e backup_auto_min_kept (piso mínimo que nunca é removido). Se o piso mínimo for maior que a quantidade real de backups existentes por curso, a limpeza nunca roda, mesmo com as outras duas configuradas. A correção tem dois passos: apontar o destino para outro disco ou máquina, como a documentação recomenda, e refazer a aritmética da retenção contra a contagem real de arquivos por curso.
Backup do Moodle guarda dado pessoal? O que a LGPD exige?
Guarda, e muito: nome, CPF, e-mail, notas, frequência e histórico de acesso — frequentemente de menores de idade, o que atrai o artigo 14 da LGPD. A lei não exige backup com essas palavras, mas exige medidas técnicas capazes de proteger os dados contra perda e destruição, o que na prática significa conseguir restaurar. Duas obrigações práticas: criptografar o backup em repouso no destino externo e definir por escrito um prazo de retenção, eliminando gerações antigas quando a finalidade se encerra. Guardar backup indefinidamente não é prudência, é passivo. Em caso de incidente, a Resolução CD/ANPD nº 15/2024 dá três dias úteis para comunicar a ANPD.
Posts relacionados

Hospedagem Moodle: Requisitos, Custos e Erros em 2026
PHP 8.3, cron a cada minuto e moodledata fora da pasta pública: o que separa o plano que aguenta semana de prova do que cai.
Migrar Moodle de Servidor Sem Perder Dados nem Parar o AVA
O roteiro de quem opera EAD: as três peças que precisam chegar juntas, o ensaio antes do dia D e a janela de corte medida em minutos.
Moodle Lento: As Causas Reais e Como Diagnosticar
Antes de contratar um servidor maior, meça. As causas mais comuns de lentidão no Moodle são de configuração — e custam zero para corrigir.