POP HOSTING

Como agendar uma tarefa cron no cPanel para rodar scripts PHP imprimir

  • cron, cron jobs, agendar tarefa, agendador de tarefas, wp-cron, cpanel, php cli
  • 0

Veja como agendar uma tarefa cron no cPanel para rodar um script PHP, chamar uma URL ou o wp-cron do WordPress, com exemplos de horário e comando.

  • Tempo: 5 min
  • Nível: Iniciante
  • Vale para: hospedagem cPanel com CloudLinux, PHP 7.4 a 8.5
  • Atualizado: outubro de 2026

O cron é o agendador de tarefas do Linux. Com ele, a hospedagem roda um comando sozinha em horários definidos: enviar a newsletter toda segunda às 8h, gerar um relatório de madrugada, limpar arquivos temporários a cada hora ou disparar as tarefas agendadas do WordPress. No cPanel, isso se faz pela tela Cron Jobs (no cPanel em português, Trabalhos Cron).

Antes de começar

  • Saiba o caminho completo do script. Na hospedagem, os arquivos ficam em /home/SEU_USUARIO/. Um script em public_html/scripts/tarefa.php tem o caminho /home/minhaconta/public_html/scripts/tarefa.php (troque minhaconta pelo seu usuário do cPanel, que aparece no canto da tela).
  • Teste o script antes, abrindo no navegador ou rodando à mão, para ter certeza de que funciona sem o cron.

Como agendar uma tarefa no cPanel

  1. Abra o Cron Jobs. Fica na seção Advanced (Avançado). Se não achar, digite "cron" na busca do topo do cPanel.
  2. Defina o e-mail de aviso (opcional). Em Cron Email, informe um e-mail e clique em Update Email. Toda vez que uma tarefa gerar alguma saída, ela chega nesse e-mail. É ótimo para testar e péssimo para deixar ligado numa tarefa que roda de minuto em minuto.
  3. Escolha a frequência. Em Add New Cron Job, use a lista Common Settings (por exemplo, Once Per Hour) ou preencha os campos Minute, Hour, Day, Month e Weekday.
  4. Escreva o comando no campo Command, sempre com caminhos completos (veja os exemplos abaixo).
  5. Clique em Add New Cron Job. A tarefa aparece em Current Cron Jobs, onde você pode editar ou apagar.

Como ler os campos de horário

MinutoHoraDiaMêsDia da semanaSignifica
*/15****A cada 15 minutos
0****Toda hora cheia
303***Todo dia às 3h30
08**1Toda segunda-feira às 8h
001**Todo dia 1º, à meia-noite

No dia da semana, 0 é domingo e 6 é sábado. Os horários seguem o relógio do servidor.

Exemplos de comando

Rodar um script PHP

/usr/local/bin/php /home/minhaconta/public_html/scripts/tarefa.php >/dev/null 2>&1

O >/dev/null 2>&1 no final descarta a saída do script e evita um e-mail a cada execução. Tire esse trecho enquanto estiver testando para receber o resultado por e-mail.

Se o script usa caminhos relativos (como include 'config.php'), entre na pasta antes:

cd /home/minhaconta/public_html/scripts && /usr/local/bin/php tarefa.php >/dev/null 2>&1

Chamar uma URL do site

/usr/bin/curl -s https://seudominio.com.br/cron.php >/dev/null 2>&1

Use quando o sistema pede "acesse esta URL periodicamente". Rodar pelo PHP direto, como no exemplo anterior, é mais rápido e não depende do site estar respondendo.

Trocar o wp-cron do WordPress por um cron de verdade

Por padrão, o WordPress só executa as tarefas agendadas quando alguém visita o site. Em site com pouca visita, posts agendados atrasam; em site com muita visita, o wp-cron roda à toa. Para corrigir, acrescente no wp-config.php, antes da linha "Isso é tudo, pode parar de editar":

define('DISABLE_WP_CRON', true);

E crie uma tarefa a cada 15 minutos (*/15 * * * *) com o comando:

cd /home/minhaconta/public_html && /usr/local/bin/php wp-cron.php >/dev/null 2>&1
Dica: o /usr/local/bin/php usa a mesma versão escolhida em Select PHP Version. Se a tarefa precisar de uma versão específica, use o caminho dela, por exemplo /opt/alt/php83/usr/bin/php para o PHP 8.3.
Atenção: cuidado com comandos de apagar (rm) no cron. Um caminho errado ou uma variável vazia pode apagar arquivos da conta inteira, sem pedir confirmação. Teste o comando à mão antes de agendar.

Problemas comuns

A tarefa não roda

Tire o >/dev/null 2>&1, configure o Cron Email e espere a próxima execução: o e-mail mostra o erro. Os mais comuns são caminho errado (Could not open input file) e include relativo que não encontra o arquivo (resolve com o cd do exemplo).

Funciona no navegador e falha no cron

No cron não existem $_SERVER['HTTP_HOST'], $_GET nem sessão. Scripts que dependem disso precisam ser ajustados ou chamados por URL com o curl.

Permission denied ao rodar um script .sh

O arquivo precisa de permissão de execução. No File Manager, mude as permissões para 755, ou chame com /bin/bash /home/minhaconta/script.sh.

Recebo dezenas de e-mails do cron

Acrescente >/dev/null 2>&1 ao final do comando ou apague o endereço em Cron Email.

Precisa automatizar tarefas do seu site? A hospedagem cPanel da POP Hosting tem agendador de tarefas, PHP 8 e suporte em português.

Esta resposta lhe foi útil?
« Retornar