Como corrigir o backup de banco de dados grande que falha no UpdraftPlus
O que é a falha de backup de banco grande no UpdraftPlus?
O UpdraftPlus faz o backup do banco lendo cada tabela e gravando um dump compactado em wp-content/updraft. Em sites grandes, esse dump precisa de memória e tempo para ler tabelas pesadas e fechar o zip. Quando o backup do banco não conclui, o processo para no meio: ou a memória PHP estoura ao ler uma tabela grande, ou o servidor corta a execução antes do fim e o scheduler do WordPress não retoma o trabalho. O resultado e um backup do banco incompleto, sem o arquivo db.gz final.
Como identificar
- O backup trava numa porcentagem fixa durante a etapa do banco e nunca avanca (ex.: para em “Creating database backup” ou na tabela wp_posts).
- O log do UpdraftPlus registra “fatal error: allowed memory size of … bytes exhausted” enquanto le uma tabela do banco.
- O log mostra a mensagem “The backup apparently succeeded and is now complete” nunca aparecendo, com a tarefa reiniciando do zero a cada retomada.
- Falta o arquivo backup_…-db.gz na lista do UpdraftPlus, mesmo com os arquivos de plugins, temas e uploads concluidos.
Antes de começar: Edite o wp-config.php sempre com uma copia do arquivo original salva localmente: um erro de digitacao numa constante PHP derruba o site inteiro com erro crítico, e a copia e o que permite voltar atras em segundos.
Como prevenir
- Otimize o banco em rotina (revisoes, transients e lixeira) para manter wp_posts e wp_options enxutos e o dump leve.
- Mantenha WP_MEMORY_LIMIT em 256M ou mais no wp-config.php do site, dentro do teto de memória PHP da hospedagem.
- Deixe o split de arquivos do UpdraftPlus em um valor que o servidor aguente fechar (ex.: 200M) em vez do padrão de 1Gb.
Causa
- Memória PHP insuficiente para ler uma tabela grande do banco: o WP_MEMORY_LIMIT esta abaixo de 256M e o UpdraftPlus estoura ao processar wp_posts ou wp_postmeta.
- Tabela inchada por dados que não foram limpos: revisoes, lixeira, spam e transients acumulados em wp_options e wp_posts deixam o dump grande demais para fechar em uma execução.
- Scheduler do WordPress sem retomada: loopback bloqueado pela hospedagem ou DISABLE_WP_CRON em wp-config.php impede o UpdraftPlus de reagendar a continuacao quando o servidor corta o tempo.
- Limite de tempo do servidor (max_execution_time baixo ou timeout do webserver) encerra o processo PHP antes de o dump do banco terminar de gravar.
- Tamanho do arquivo único acima do que a hospedagem aceita: o split do UpdraftPlus em Expert settings esta no padrão de 1Gb e o servidor barra o dump antes de fecha-lo.
Como resolver
- Suba o limite de memória do WordPress: Aumente o limite de memória para o UpdraftPlus conseguir ler tabelas grandes sem estourar. Edite o wp-config.php pelo gerenciador de arquivos ou FTP e adicione a constante antes da linha que pede para parar de editar.
define( 'WP_MEMORY_LIMIT', '256M' ); define( 'WP_MAX_MEMORY_LIMIT', '512M' ); - Limpe e otimize o banco antes do backup: Reduza o tamanho das tabelas removendo revisoes, lixeira, spam e transients. Pelo WP-Optimize, va em WP-Optimize -> Database e rode todas as otimizacoes selecionadas para encolher wp_posts e wp_options antes de tentar o backup de novo.
WP-Optimize -> Database -> Run all selected optimizations wp transient delete --all wp post delete $(wp post list --post_status=trash --format=ids) --force - Garanta a retomada do backup pelo scheduler: O UpdraftPlus depende do cron do WordPress para retomar o trabalho quando o servidor corta o tempo. Se o loopback estiver bloqueado, force o cron alternativo no wp-config.php para a retomada acontecer.
define( 'ALTERNATE_WP_CRON', true ); - Divida o backup em arquivos menores: Em UpdraftPlus -> Settings -> Expert settings, baixe o limite de divisao do arquivo (padrão de 1Gb) para algo como 200M. Arquivos menores fecham antes do servidor cortar o tempo e contornam limites de tamanho da hospedagem.
UpdraftPlus -> Settings -> Expert settings -> Split archives every: 200 MB - Confira memória e tempo no Site Health: Verifique os valores reais aplicados antes de concluir. Em Tools -> Site Health -> Info, confira WP_MEMORY_LIMIT, WP_MAX_MEMORY_LIMIT e o max_execution_time do servidor para confirmar que a folga foi aplicada de fato.
Tools -> Site Health -> Info -> WordPress Constants
PHP
// wp-config.php — folga de memoria + retomada do backup do UpdraftPlus
// Cole acima da linha: /* Isso e tudo, pare de editar! */
define( 'WP_MEMORY_LIMIT', '256M' ); // memoria para ler tabelas grandes
define( 'WP_MAX_MEMORY_LIMIT', '512M' ); // teto para tarefas pesadas (backup)
define( 'ALTERNATE_WP_CRON', true ); // garante a retomada quando o loopback e bloqueado
Perguntas frequentes
Por que o UpdraftPlus trava sempre na tabela wp_posts?
Porque wp_posts guarda posts, páginas e revisoes e costuma ser a maior tabela do banco. Quando a memória PHP não da conta de le-la, o backup para ali. Suba o WP_MEMORY_LIMIT para 256M e limpe revisoes e lixeira com o WP-Optimize para reduzir o tamanho da tabela.
Aumentar a memória PHP resolve o backup do banco grande?
Na maioria dos casos de tabela pesada, sim. Ler e compactar um banco grande consome memória, e o UpdraftPlus estoura quando o limite e baixo. Subir o WP_MEMORY_LIMIT para 256M ou mais no wp-config.php, dentro do teto da hospedagem, da folga para o dump concluir sem o erro de memória esgotada.
O backup do banco reinicia do zero a cada tentativa. O que fazer?
Isso indica que o scheduler do WordPress não consegue retomar o trabalho quando o servidor corta o tempo, geralmente por loopback bloqueado. Adicione ALTERNATE_WP_CRON como true no wp-config.php para o UpdraftPlus reagendar a continuacao em vez de comecar tudo de novo.
Devo dividir o backup em arquivos menores?
Sim, em sites grandes. No UpdraftPlus o split padrão comeca um novo arquivo a cada 1Gb. Baixar esse valor em Expert settings para algo como 200M faz cada arquivo fechar antes de o servidor cortar o tempo e contorna limites de tamanho de arquivo da hospedagem.
Como limpo o banco para o backup ficar mais leve?
Remova o que não precisa virar backup: revisoes de posts, comentarios de spam, itens na lixeira e transients expirados. O WP-Optimize faz isso em WP-Optimize -> Database com Run all selected optimizations, encolhendo wp_posts e wp_options antes de rodar o backup de novo.
Posso fazer o backup sem incluir uma tabela enorme?
Pode. O UpdraftPlus permite excluir tabelas especificas do backup, útil quando uma tabela de log ou de cache de plugin esta inchada e não precisa ser preservada. Exclua a tabela problematica para o dump do banco concluir e mantenha as tabelas essenciais no backup.
Falta so o arquivo db.gz no backup. O que houve?
Os arquivos de plugins, temas e uploads concluiram, mas a etapa do banco falhou por memória ou tempo. Suba o WP_MEMORY_LIMIT, otimize o banco e rode o backup de novo: o UpdraftPlus refaz a etapa do banco e gera o backup_...-db.gz que estava faltando.
Preciso de espaco livre em disco para o backup grande?
Sim. O UpdraftPlus grava o dump e o zip em wp-content/updraft antes de enviar ao destino remoto, entao precisa de espaco livre proporcional ao tamanho do banco e dos arquivos. Sem espaco suficiente, a gravacao do dump falha no meio. Libere disco ou reduza o site antes de tentar.














