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

Como corrigir o agendamento de backups que não funciona no UpdraftPlus

Time Full Services Time Full Services
Tipo Migracao & Backup
Nome do erro Agendamento de backups não funciona no UpdraftPlus EN: UpdraftPlus scheduled backup not running
Severidade Atenção
Descrição O agendamento de backup do UpdraftPlus não funciona quando o intervalo configurado, por exemplo a cada 12 horas, é ignorado e o backup roda atrasado ou fora de hora. A causa é o WP-Cron, que só dispara em visitas, somado a fuso errado e eventos duplicados. A correção é alinhar o fuso, limpar o evento e criar um cron real do servidor.

O que é o agendamento de backup do UpdraftPlus que não funciona?

O agendamento de backup do UpdraftPlus que não funciona é a falha em que o intervalo definido em Configurações, UpdraftPlus, nas opções “Agendamento de backup de arquivos” e “Agendamento de backup de banco de dados”, não é respeitado: o backup roda atrasado, em horário diferente do esperado ou com frequência maior que a escolhida. O UpdraftPlus não controla o relógio sozinho. Ele apenas registra os eventos updraft_backup e updraft_backup_database no WP-Cron, o agendador interno do WordPress, e grava o intervalo na opção updraft_interval. Quem decide a hora exata de executar é o WP-Cron, que só é verificado quando uma página do site é carregada e que usa o fuso horário definido em Configurações, Geral. Por isso o painel mostra “Próximo backup agendado” com uma hora que não corresponde ao intervalo que você selecionou, ou o backup só dispara quando aparece a primeira visita do dia.

Como identificar

  • O painel do UpdraftPlus mostra em “Next scheduled backups” (Próximos backups agendados) um horário que não corresponde ao intervalo escolhido, por exemplo backup marcado para daqui a 19 horas quando você pediu a cada 12 horas.
  • O backup escolhido para 3h da manhã sempre roda perto do meio-dia ou à tarde, no horário em que chega o primeiro visitante do dia.
  • Em “Existing backups” os backups aparecem com intervalos irregulares entre eles, às vezes dois no mesmo dia e às vezes nenhum, em vez do ritmo fixo configurado.
  • O comando wp cron event list mostra o evento updraft_backup repetido em duas linhas ou com a coluna de próxima execução em horário que não bate com o intervalo salvo em updraft_interval.
  • O horário registrado no log do UpdraftPlus está deslocado em uma quantidade fixa de horas em relação ao relógio local, sinal de fuso horário errado no WordPress.
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 desprotegido sem nenhum aviso.

Como prevenir

  • Defina o fuso horário em Configurações, Geral, para a sua cidade logo na instalação, antes de configurar qualquer intervalo de backup no UpdraftPlus
  • Use um cron real do servidor a cada 5 minutos em vez de confiar no disparo por visita, para o intervalo de backup ser respeitado mesmo em dias de baixo tráfego
  • Sempre que mudar o intervalo no UpdraftPlus, salve as configurações e confira em wp cron event list se existe um único evento updraft_backup com o novo horário
  • Ative o relatório por e-mail do UpdraftPlus em Email nas configurações para receber o aviso de cada ciclo e perceber rápido quando a frequência sai do esperado

Causa

  • O WP-Cron é verificado só quando alguém carrega uma página, então em site de baixo tráfego o evento updraft_backup é disparado na próxima visita disponível e não no horário do intervalo configurado.
  • O fuso horário em Configurações, Geral, está em UTC ou numa cidade errada, então o UpdraftPlus calcula o próximo backup somando o intervalo a um relógio diferente do local e a hora mostrada fica deslocada.
  • Existem dois eventos updraft_backup registrados no WP-Cron, herança de uma reativação do plugin ou de uma restauração de banco, e os dois disparam em horários próprios competindo entre si.
  • A constante DISABLE_WP_CRON está como true no wp-config.php, mas o cron real do servidor foi criado com um intervalo maior que o do backup, por exemplo de hora em hora, então o evento só roda no próximo tique do cron e nunca na hora exata.
  • Um plugin de cache de página inteira serve a home a partir do cache e o WordPress não roda o disparo do WP-Cron naquela visita, empurrando o backup agendado para mais tarde.
  • A opção updraft_interval foi alterada mas o evento antigo no WP-Cron não foi reagendado, então o UpdraftPlus continua usando a frequência anterior gravada no agendamento.

Como resolver

  1. Confira o fuso horário do WordPress: abra Configurações, Geral, e ajuste o fuso para a sua cidade, não para um valor UTC fixo, para o UpdraftPlus calcular o próximo backup a partir do relógio local correto. Confirme a hora atual do servidor pela linha de comando.
    wp option get timezone_string
    wp eval 'echo current_time("mysql");'
  2. Verifique se há agendamento duplicado: liste os eventos do WP-Cron e procure por updraft_backup repetido. Se aparecer em mais de uma linha, há agendamento duplicado competindo, e os dois disparam em horários diferentes.
    wp cron event list | grep updraft
  3. Limpe o evento e deixe o UpdraftPlus reagendar: remova os eventos de backup do agendador, depois entre em Configurações, UpdraftPlus, salve novamente o intervalo desejado e o plugin grava um único evento limpo, alinhado à opção updraft_interval.
    wp cron event delete updraft_backup
    wp cron event delete updraft_backup_database
  4. Desative o WP-Cron interno: edite o wp-config.php, antes da linha que pede para parar de editar, e desligue o disparo por visita, que é o que faz o backup só rodar quando chega tráfego. Sozinha, esta linha para o agendador, então o passo seguinte é obrigatório.
    define( 'DISABLE_WP_CRON', true );
  5. Crie um cron real com intervalo menor que o do backup: no painel da hospedagem, em Cron Jobs, ou via crontab, agende uma chamada ao wp-cron.php a cada 5 minutos. O intervalo do cron precisa ser menor que o intervalo do backup para o horário marcado ser respeitado com folga.
    */5 * * * * cd /home/usuário/public_html && php wp-cron.php >/dev/null 2>&1
  6. Confirme o próximo horário agendado: depois de salvar tudo, rode o evento manualmente uma vez e liste de novo o agendamento para conferir que o próximo backup agora cai dentro do intervalo configurado e no fuso correto.
    wp cron event run updraft_backup
    wp cron event list | grep updraft
PHP
// wp-cli: diagnostica o agendamento real do UpdraftPlus vs o intervalo salvo
// Rode com: wp eval-file diagnostico-agendamento.php
$intervalo = get_option( 'updraft_interval', 'manual' );
$proximo   = wp_next_scheduled( 'updraft_backup' );

if ( ! $proximo ) {
    WP_CLI::warning( 'Nenhum evento updraft_backup agendado. Salve o intervalo nas configuracoes.' );
} else {
    $hora = wp_date( 'd/m/Y H:i', $proximo ); // usa o fuso do WordPress
    WP_CLI::log( "Intervalo salvo: {$intervalo}" );
    WP_CLI::log( "Proximo backup: {$hora}" );
    if ( ( $proximo - time() ) < 0 ) {
        WP_CLI::warning( 'Horario no passado: o WP-Cron nao esta disparando o backup.' );
    }
}

Perguntas frequentes

Por que o UpdraftPlus não respeita o intervalo de backup que escolhi?
Porque o intervalo é apenas registrado no WP-Cron, que só é verificado quando alguém carrega uma página. Em site de baixo tráfego, o evento de backup espera a próxima visita disponível, então o ritmo configurado, como a cada 12 horas, vira o ritmo das visitas e não o do relógio.
O backup do UpdraftPlus sempre roda em horário diferente do agendado. É fuso?
Muitas vezes sim. Se o fuso em Configurações, Geral, está em UTC ou numa cidade errada, o UpdraftPlus soma o intervalo a um relógio diferente do local e o próximo backup aparece deslocado em uma quantidade fixa de horas. Ajustar o fuso para a sua cidade alinha o horário.
Como sei se tenho agendamento de backup duplicado no UpdraftPlus?
Rode wp cron event list pelo WP-CLI e procure por updraft_backup. Se ele aparecer em mais de uma linha, há agendamento duplicado, herdado de uma reativação do plugin ou restauração de banco. Apagar os eventos e salvar o intervalo de novo deixa um único agendamento limpo.
Preciso de cron real do servidor para o agendamento funcionar direito?
Em sites de baixo tráfego, sim. Defina DISABLE_WP_CRON como true e crie um cron do servidor chamando o wp-cron.php a cada 5 minutos. Use um intervalo de cron menor que o do backup para o horário marcado ser respeitado com folga, independente de visitas.
Mudei o intervalo no UpdraftPlus e ele continua na frequência antiga. O que houve?
O plugin gravou o novo valor na opção updraft_interval, mas o evento antigo no WP-Cron não foi reagendado. Apague os eventos updraft_backup e updraft_backup_database, volte às configurações e salve o intervalo desejado para o UpdraftPlus reagendar com a frequência nova.
O cache pode atrapalhar o horário do backup agendado?
Pode. Quando um plugin de cache serve a home direto do cache, o WordPress não executa o disparo do WP-Cron naquela visita, e o backup agendado é empurrado para uma carga de página que escape do cache. Por isso o cron real do servidor é mais confiável que o disparo por visita.
Desativar o WP-Cron afeta outras tarefas além do backup?
Sim, por isso o cron real é obrigatório. Sem 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 agendamento do UpdraftPlus, voltam a rodar no horário.

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