🎉 USE O CUPOM DESCONTO.FULL | 20% OFF acima de R$ 50,00

Como corrigir o backup automático que não roda no UpdraftPlus

Time Full Services Time Full Services
Tipo Migracao & Backup
Nome do erro Backup automático não roda no UpdraftPlus EN: UpdraftPlus automatic backup not running
Severidade Grave
Descrição O backup automático do UpdraftPlus não roda porque o agendamento depende do WP-Cron, que só dispara quando alguém visita o site, então em sites com pouco tráfego o horário previsto passa sem o backup acontecer. A correção é desativar o WP-Cron interno e criar um cron real do servidor chamando o wp-cron.php em intervalos fixos.

O que é o backup automático que não roda no UpdraftPlus?

O backup automático que não roda no UpdraftPlus é a falha em que o agendamento configurado em Configurações, UpdraftPlus, na opção “Agendamento de backup de arquivos” e “Agendamento de backup de banco de dados”, chega no horário previsto e nada acontece. O UpdraftPlus não tem um relógio próprio: ele registra um evento no WP-Cron, o agendador interno do WordPress, e esse agendador só é verificado quando uma página do site é carregada. Em sites com pouco tráfego, ou quando a chamada loopback ao wp-cron.php está bloqueada, o evento de backup fica acumulado no passado e o painel mostra “Próximo backup agendado” com a data sempre vencida.

Como identificar

  • No painel do UpdraftPlus a área “Next scheduled backups” (Próximos backups agendados) mostra uma data já vencida em vermelho e nenhum backup novo aparece em “Existing backups”.
  • Um backup manual feito pelo botão “Backup Now” funciona normalmente, mas o agendado nunca dispara sozinho no horário marcado.
  • Em Ferramentas, Saúde do site, aparece o aviso “O WP-Cron não funcionou desde a última verificação, agende um cron real do sistema”.
  • O comando wp cron event list mostra o evento updraft_backup ou updraft_backup_database com a coluna de próxima execução muito atrasada.
  • O log do UpdraftPlus não registra nenhuma linha nova de início de backup no horário esperado, como se o evento nunca tivesse sido chamado.
Antes de começar: Antes de editar o wp-config.php, baixe uma cópia do arquivo. Definir DISABLE_WP_CRON como true sem criar o cron real do servidor deixa todas as tarefas agendadas paradas, inclusive os backups e as atualizações de segurança, e o site fica sem proteção sem nenhum aviso.

Como prevenir

  • Configure um cron real do servidor a cada 5 minutos desde a instalação do UpdraftPlus, em vez de confiar no disparo por visita do WP-Cron
  • Ative o relatório por e-mail do UpdraftPlus em “Email” nas configurações para receber aviso de cada backup concluído e perceber rápido quando um ciclo falha
  • Mantenha firewall e Cloudflare liberando a requisição loopback ao wp-cron.php do próprio servidor após cada migração ou troca de hospedagem
  • Guarde os backups em um destino remoto como Google Drive ou Amazon S3 para que uma falha no servidor não leve junto o arquivo de backup

Causa

  • O site tem pouco ou nenhum tráfego e o WP-Cron só dispara em visitas, então o evento updraft_backup nunca é executado e o backup agendado fica acumulado no passado.
  • A constante DISABLE_WP_CRON está definida como true no wp-config.php, mas nenhum cron real do servidor foi criado para chamar o wp-cron.php no lugar do disparo por visita.
  • A requisição loopback do site ao próprio wp-cron.php está bloqueada por firewall, regra do Cloudflare, autenticação HTTP básica ou DNS interno errado, e o agendador nunca conclui.
  • Um plugin de cache de página inteira serve a home a partir do cache e o WordPress não executa o disparo do WP-Cron naquela visita, atrasando o evento de backup.
  • O backup começa mas o processo PHP atinge o max_execution_time ou o memory_limit do servidor e é interrompido antes de gerar o arquivo, deixando a tarefa marcada como não concluída.
  • A constante ALTERNATE_WP_CRON foi ativada de forma incorreta e gera um redirecionamento que impede o evento agendado do UpdraftPlus de finalizar.

Como resolver

  1. Confirme que é o agendador que falha: no painel do UpdraftPlus, clique em "Backup Now" e veja se o backup manual roda até o fim. Se o manual funciona e só o agendado falha, o problema está no WP-Cron, não no UpdraftPlus. Liste os eventos com WP-CLI para confirmar.
    wp cron event list | grep updraft
    wp cron event run updraft_backup
  2. Desative o WP-Cron interno: edite o wp-config.php e, antes da linha que pede para parar de editar, adicione a constante que desliga o disparo por visita. Sozinha ela para o agendador, então o passo seguinte é obrigatório.
    define( 'DISABLE_WP_CRON', true );
  3. Crie um cron real no servidor: no painel da hospedagem (cPanel, Cron Jobs) ou via crontab, agende uma tarefa que chame o wp-cron.php a cada 5 minutos. Use a versão por linha de comando, que roda direto pelo PHP e não depende da chamada HTTP loopback.
    */5 * * * * cd /home/usuário/public_html && php wp-cron.php >/dev/null 2>&1
  4. Teste a chamada loopback: abra o endereço seudominio.com/wp-cron.php?doing_wp_cron no navegador. Se a página retornar em branco com status 200, o loopback está livre. Se travar ou der 403, há um bloqueio de firewall ou autenticação que precisa ser liberado.
  5. Aumente os limites de PHP para o backup: se o backup começa e para no meio, eleve o tempo e a memória do processo no wp-config.php para o UpdraftPlus conseguir compactar e enviar o arquivo sem ser interrompido.
    @ini_set( 'max_execution_time', '300' );
    define( 'WP_MEMORY_LIMIT', '256M' );
  6. Force um backup agendado e confira o log: depois do cron real ativo, espere o próximo ciclo de 5 minutos ou rode o evento manualmente e acompanhe o log do UpdraftPlus. Uma nova linha de início de backup confirma que o agendador voltou a disparar.
    wp cron event run updraft_backup
    wp cron event run updraft_backup_database
PHP
// functions.php do tema filho — avisa no painel se o backup do UpdraftPlus atrasou mais de 1 dia
add_action( 'admin_notices', function () {
    if ( ! current_user_can( 'manage_options' ) ) {
        return;
    }
    $proximo = wp_next_scheduled( 'updraft_backup' );
    if ( $proximo && ( time() - $proximo ) > DAY_IN_SECONDS ) {
        $atraso = human_time_diff( $proximo, time() );
        echo '<div class="notice notice-error"><p>Backup agendado do UpdraftPlus atrasado em ' . esc_html( $atraso ) . '. Verifique o cron do servidor.</p></div>';
    }
} );

Perguntas frequentes

Por que o backup manual funciona mas o automático não roda no UpdraftPlus?
Porque o manual roda na hora em que você clica em Backup Now, dentro de uma visita real. O automático depende do WP-Cron, que só é verificado quando alguém carrega uma página. Em site com pouco tráfego, o evento agendado nunca é disparado e o backup não acontece.
O UpdraftPlus tem agendador próprio ou usa o do WordPress?
Ele usa o WP-Cron, o agendador interno do WordPress. O UpdraftPlus apenas registra os eventos updraft_backup e updraft_backup_database. Quem decide quando rodar é o WP-Cron, que precisa de visitas ou de um cron real do servidor para disparar no horário.
Preciso configurar cron real do servidor para o UpdraftPlus?
Em sites com pouco tráfego, sim. O jeito confiável é definir DISABLE_WP_CRON como true e criar um cron real no painel da hospedagem chamando o wp-cron.php a cada 5 minutos. Assim o backup roda no horário fixo, independente de visitas no site.
O backup do UpdraftPlus começa e para no meio. O que é?
Quase sempre é o processo PHP atingindo o max_execution_time ou o memory_limit do servidor antes de terminar de compactar e enviar o arquivo. Aumentar o tempo de execução e a memória no wp-config.php costuma resolver e deixa o backup concluir.
Como saber se o WP-Cron está travando o backup agendado?
Rode wp cron event list pelo WP-CLI e procure o evento updraft_backup. Se ele aparecer com horário no passado acumulado, o agendador parou de disparar. A tela de Saúde do site também avisa quando o WP-Cron falhou desde a última verificação.
A requisição loopback bloqueada pode impedir o backup?
Sim. O WP-Cron chama o próprio wp-cron.php por HTTP, e se firewall, Cloudflare ou autenticação básica bloquearem essa chamada, o evento de backup falha mesmo com tráfego. Teste abrindo a URL do wp-cron.php direto no navegador e libere o bloqueio.
Desativar o WP-Cron pode parar outros agendamentos além do backup?
Sim, por isso o cron real é obrigatório. Sem o WP-Cron e sem cron do servidor, posts agendados, e-mails e atualizações também param. Ao criar o cron real chamando o wp-cron.php, todas essas tarefas, inclusive o backup do UpdraftPlus, voltam a rodar.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes