Erro: por que cron job não executa na hora marcada imprimir

  • 0

Erro: por que meu cron job não executa na hora marcada? (Guia prático para iniciantes)

Olá, querido(a) cliente da GeHost! 😊

Se você está aqui, provavelmente criou um cron job para automatizar algo no seu site — como atualizar dados, limpar arquivos temporários ou enviar e-mails — mas ele não está rodando na hora certa. Calma! Isso é bem comum, e hoje eu, seu Sensei da GeHost, te ajudo a descobrir o porquê, passo a passo, com linguagem simples e muito carinho. 💛

Dica do Sensei: Cron jobs são como alarmes no celular, mas para o servidor. Se o alarme não toca, pode ser que ele esteja desligado, mal configurado ou o celular em modo avião. Vamos ver qual é o “modo avião” do seu cron!

Passo 1: Verifique se o cron job está ativo no cPanel

Primeiro, vamos confirmar se o job foi criado corretamente. Acesse seu cPanel com suas credenciais normais.

Tela de LOGIN do cPanel (campos Usuário e Senha + botão Log in)

Depois de logar, procure pela seção “Cron Jobs” — geralmente está no grupo “Advanced” ou “Automatização”.

Painel inicial (home) do cPanel com os grupos de ferramentas (E-mail, Arquivos etc.)

Passo 2: Confira os horários e comandos

Um cron job só funciona se os horários estiverem corretamente formatados. Veja um exemplo de configuração correta:

  • Minuto: * (executa a cada minuto)
  • Hora: 10 (executa às 10h)
  • Dia do mês: * (todo dia)
  • Mês: * (todo mês)
  • Dia da semana: * (todo dia da semana)

Se você colocar algo como 15 10 * * *, ele roda às 10h15 todos os dias.

⚠️ Atenção: Se você colocar 0 24 * * *, o cron não entende — não existe hora 24! O máximo é 23. Isso é um erro comum!

Passo 3: Verifique se o caminho do comando está correto

Seu cron job precisa saber onde executar o comando. Por exemplo:

  • Se for um script PHP, o caminho deve ser algo como: /home/usuario/public_html/script.php
  • Se for um comando shell, como rm /tmp/arquivo.txt, o caminho deve ser absoluto.

💡 Dica do Sensei: Use o Gerenciador de Arquivos para confirmar o caminho exato do seu arquivo.

Gerenciador de Arquivos (árvore de pastas public_html etc.)

Passo 4: Use o caminho completo do PHP (ou do interpretador)

Um erro frequente é usar apenas php script.php no cron. O sistema não sabe onde está o PHP. Você deve usar o caminho completo:

/usr/local/bin/php /home/usuario/public_html/script.php

👉 Como descobrir o caminho? Acesse o terminal via SSH (se tiver acesso) e digite:

which php

Se não tiver acesso ao SSH, use o “PHP Info” no cPanel ou peça ao suporte da GeHost.

Passo 5: Verifique se o arquivo tem permissão de execução

Seu script precisa ter permissão para rodar. No Gerenciador de Arquivos, clique com o botão direito no arquivo e selecione “Editar” ou “Propriedades”.

Verifique se a permissão está como 755 (ou pelo menos 700). Isso permite que o sistema execute o arquivo.

Passo 6: Confira o histórico de execução (se disponível)

Alguns servidores mostram um log de execução. No cPanel, vá em Cron Jobs e veja se há uma opção como “Logs” ou “Ver histórico”.

Se não houver log, o cron pode estar rodando, mas sem saída visível. Nesse caso, adicione um comando de log no final do seu job:

/usr/local/bin/php /home/usuario/public_html/script.php >> /home/usuario/logs/cron.log 2>&1

Isso salva a saída (e erros) em um arquivo chamado cron.log, que você pode verificar depois.

Passo 7: Atenção ao fuso horário!

Seu cron job pode estar marcado para as 10h, mas o servidor está em outro fuso horário. A GeHost opera no fuso horário UTC-3 (Brasil). Se você colocar horários baseados em outro fuso, o job pode rodar fora do horário esperado.

👉 Recomendação: Sempre configure os horários considerando UTC-3.

Conclusão: O que fazer agora?

Se seu cron ainda não está rodando, siga esta checklist rápida:

  1. Verifique se o cron está ativado no cPanel.
  2. Confira se os horários estão corretos (ex: 24h não existe).
  3. Use o caminho completo do PHP, não apenas php.
  4. Garanta que o arquivo tem permissão de execução (755).
  5. Adicione um log para ver o que está acontecendo.
  6. Confira o horário do servidor (UTC-3).

Se depois de tudo isso ainda não funcionar, envie um ticket ao suporte da GeHost com o comando completo e o log — e eu, seu Sensei, te ajudo pessoalmente. 💬

✨ Lembre-se: todo erro é uma oportunidade de aprender. E você já está no caminho certo!


Esta resposta lhe foi útil?

« Retornar