# Como corrigir o conflito de backup e limpeza entre UpdraftPlus e WP Optimize no WordPress

O conflito de backup entre UpdraftPlus e WP Optimize ocorre quando os dois plugins, ambos da TeamUpdraft, rodam no mesmo horario: o WP Optimize apaga revisoes, transients e lixeira ou trava tabelas durante a otimização enquanto o UpdraftPlus copia o banco, gerando um backup incompleto ou inconsistente.

## O que é conflito de backup entre UpdraftPlus e WP Optimize?

O conflito entre UpdraftPlus e WP Optimize aparece quando as rotinas de backup e de limpeza do banco de dados disputam o mesmo intervalo de tempo no WordPress. O UpdraftPlus tira uma copia consistente do banco e dos arquivos em intervalos agendados (a cada 2, 4 ou 8 horas, diario, semanal, quinzenal ou mensal, segundo a documentação da TeamUpdraft). O WP Optimize, do mesmo fabricante, faz a faxina do banco: remove revisoes de posts, rascunhos automaticos, comentarios de spam, itens na lixeira e transients expirados, e roda OPTIMIZE TABLE para reduzir o overhead das tabelas.

O problema não e um bug de código, e uma corrida de agendamento. Quando a limpeza do WP Optimize cai dentro da janela em que o UpdraftPlus esta copiando o banco, o backup pode capturar tabelas no meio da otimização, sair sem as linhas que o WP Optimize acabou de apagar, ou registrar erro de tabela travada. Como os dois agendamentos dependem do wp-cron do WordPress, que so dispara quando alguem acessa o site, as duas tarefas podem ser empurradas para o mesmo acesso e executar quase juntas.

## Como identificar

- O log do UpdraftPlus registra a tarefa com aviso parecido com 'The backup operation seems to have run out of time' ou 'A PHP fatal error occurred' em backups que antes terminavam limpos.
- O backup do banco gerado pelo UpdraftPlus fica menor que o esperado ou não contem revisoes e dados que existiam pouco antes da limpeza do WP Optimize.
- O WP Optimize mostra a otimização concluida, mas o relatório do UpdraftPlus aponta backup incompleto ou tabela ausente no mesmo intervalo.
- Mensagem de banco do tipo 'Table is marked as crashed' ou erro de tabela travada (lock) surge logo após uma janela em que limpeza e backup rodaram juntos.
- Os horarios de execução de UpdraftPlus e WP Optimize no painel de cada plugin caem no mesmo intervalo do dia, com sobreposicao visivel nos logs.

**Antes de começar:** Antes de alterar agendamentos, editar o wp-config.php ou rodar a limpeza do WP Optimize, faça um backup completo do site (arquivos e banco) ou teste em um ambiente de staging. A limpeza apaga dados de forma permanente, entao garanta uma copia integra para poder reverter.

## Como prevenir

- Nunca agende a limpeza do WP Optimize e o backup do UpdraftPlus no mesmo horario: rode a limpeza primeiro e o backup depois, com folga de pelo menos uma hora entre eles.
- Troque o wp-cron padrão do WordPress por um cron real do servidor para que cada tarefa execute na hora marcada e não se empilhe em um único acesso ao site.
- Mantenha a frequencia da limpeza igual ou menor que a do backup, para que nenhum dado seja apagado antes de entrar em uma copia integra.
- Revise os logs do UpdraftPlus e do WP Optimize periodicamente para confirmar que as janelas de execução continuam separadas após atualizações dos plugins.

Erros relacionados

- [Como corrigir o agendamento de backups que não funciona no UpdraftPlus](https://full.services/wp-fixer/corrigir-agendamento-backup-updraftplus/)
- [Como corrigir o backup de banco de dados grande que falha no UpdraftPlus](https://full.services/wp-fixer/corrigir-backup-banco-grande-updraftplus/)
- [Como corrigir o backup automático que não roda no UpdraftPlus](https://full.services/wp-fixer/corrigir-backup-automatico-updraftplus/)

## Causa

- Os agendamentos do UpdraftPlus e do WP Optimize estão configurados para o mesmo intervalo (por exemplo, ambos diarios sem hora fixa definida), fazendo a limpeza do banco cair dentro da janela em que o backup copia as tabelas.
- O WP Optimize esta com a limpeza automática agendada (revisoes, transients, spam e lixeira) e roda OPTIMIZE TABLE enquanto o UpdraftPlus le o banco, deixando o dump do backup com tabelas em estado intermediario.
- Os dois plugins dependem do wp-cron do WordPress, que so dispara em acesso ao site; um pico de visitas empilha backup e limpeza no mesmo disparo de cron e as tarefas executam quase simultaneamente.
- A regra de retencao da limpeza do WP Optimize apaga revisoes e rascunhos antes do backup terminar, de modo que o UpdraftPlus grava uma copia já sem esses dados e o restore posterior vem incompleto.
- Em tabelas MyISAM, o OPTIMIZE TABLE do WP Optimize aplica lock de escrita na tabela durante a otimização; se o UpdraftPlus tenta ler a mesma tabela nesse instante, o backup registra erro de tabela travada.

## Como resolver

1. Confira os horarios atuais dos dois plugins: Abra o agendamento de cada plugin e anote o intervalo configurado. No UpdraftPlus o agendamento fica em Configurações e no WP Optimize fica na aba de agendamento da limpeza. O objetivo e enxergar onde os dois se sobrepoem.

```
Painel WP -> Configurações -> UpdraftPlus Backups -> aba Configurações -> veja o intervalo de Arquivos e de Banco de Dados
Painel WP -> WP-Optimize -> Banco de Dados -> aba Agendar -> veja o horario e a frequencia da limpeza
```

2. Separe os agendamentos em janelas diferentes: Coloque a limpeza do WP Optimize e o backup do UpdraftPlus em horarios distintos, com folga entre eles. Rode primeiro a limpeza e so depois o backup, para o UpdraftPlus copiar um banco já otimizado e estavel. Na versão Premium do UpdraftPlus você escolhe a hora exata de inicio.

```
WP-Optimize -> agende a limpeza para um horario de baixo tráfego (ex.: 02:00)
UpdraftPlus -> agende o backup do banco para depois da limpeza (ex.: 04:00), nunca no mesmo horario
```

3. Desligue um real wp-cron por horario fixo: Como o wp-cron padrão so dispara em acesso ao site, troque-o por um cron real do servidor para que cada tarefa rode na hora marcada e não se empilhe. Desabilite o wp-cron interno no wp-config.php e crie um agendamento de sistema chamando o wp-cron.php.

```
Edite wp-config.php e adicione a linha de constante DISABLE_WP_CRON (veja o bloco de código abaixo)
No painel da hospedagem crie um cron que acesse https://seusite.com/wp-cron.php a cada hora
```

4. Faça um backup manual e valide o conteúdo: Depois de separar os horarios, dispare um backup manual no UpdraftPlus e confira no log se ele terminou sem aviso de tempo esgotado ou tabela travada. Baixe o backup do banco e confirme que as tabelas estão presentes e completas.

```
UpdraftPlus -> aba Backup / Restaurar -> botão Fazer backup agora -> marque Banco de Dados
Acompanhe o log até aparecer 'The backup apparently succeeded and is now complete'
```

5. Reative a limpeza automática de forma escalonada: Com os horarios separados e validados, mantenha a limpeza do WP Optimize em frequencia menor que a do backup, para nunca apagar dados que ainda não entraram em uma copia. Revise os logs por alguns dias para confirmar que não ha mais sobreposicao.

```
WP-Optimize -> mantenha a limpeza em frequencia igual ou menor que a do backup
UpdraftPlus -> aba Backups existentes -> confirme backups completos por vários dias seguidos
```


## Código

```php
<?php
// wp-config.php: desliga o wp-cron interno para usar um cron real do servidor.
// Adicione esta linha ANTES de /* That's all, stop editing! */
define( 'DISABLE_WP_CRON', true );

/*
 * Depois, crie no painel da hospedagem um cron de sistema que rode na hora marcada:
 *   */15 * * * * wget -q -O - https://seusite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
 * Assim backup (UpdraftPlus) e limpeza (WP Optimize) executam nos horarios
 * agendados, sem se empilharem em um unico acesso ao site.
 */
```

## Perguntas frequentes

### Posso usar UpdraftPlus e WP Optimize no mesmo site

Sim. Os dois plugins são da TeamUpdraft e funcionam juntos sem problema, desde que os agendamentos de backup e de limpeza não caiam no mesmo horario. O conflito so aparece quando a faxina do banco roda dentro da janela em que o backup esta copiando as tabelas.

### Por que meu backup do UpdraftPlus fica incompleto depois da limpeza

Porque a limpeza do WP Optimize apagou revisoes, transients ou itens da lixeira enquanto o UpdraftPlus ainda copiava o banco, ou travou uma tabela com OPTIMIZE TABLE. O backup acaba gravando um estado intermediario. Separe os horarios para o backup ler um banco já estavel.

### Devo rodar a limpeza antes ou depois do backup

Rode a limpeza do WP Optimize primeiro e o backup do UpdraftPlus depois, com folga entre eles. Assim o UpdraftPlus copia um banco já otimizado e consistente, e você evita gravar tabelas em meio a uma otimização.

### O wp-cron do WordPress piora esse conflito

Sim. O wp-cron padrão so dispara quando alguem acessa o site, entao backup e limpeza podem ser empurrados para o mesmo acesso e rodar quase juntos. Trocar por um cron real do servidor faz cada tarefa executar no horario marcado, sem empilhar.

### O OPTIMIZE TABLE do WP Optimize trava o banco durante o backup

Em tabelas MyISAM, o OPTIMIZE TABLE aplica um lock de escrita enquanto reorganiza a tabela. Se o UpdraftPlus tenta ler a mesma tabela nesse instante, o backup pode registrar erro de tabela travada. Separar os horarios evita que leitura e otimização coincidam.

### Como saber qual plugin causou o backup incompleto

Compare os horarios nos logs dos dois plugins. Se a hora da limpeza do WP Optimize cai dentro da janela do backup do UpdraftPlus, a sobreposicao e a causa. Separe os agendamentos e gere um backup manual para confirmar que o log fecha sem aviso.

### Preciso desativar o WP Optimize para o backup funcionar

Não. Não desative o WP Optimize. Basta reagendar a limpeza para um horario diferente do backup e, de preferencia, manter a frequencia da limpeza igual ou menor que a do backup. Os dois plugins convivem bem com janelas separadas.

**Fonte:** [UpdraftPlus Documentation - How do I schedule backups (TeamUpdraft)](https://teamupdraft.com/documentation/updraftplus/)
