Como criar e agendar tarefas cron
Oi! 👋 Aqui é a Sensei da GeHost. Vou te ensinar um truque bem legal que vai economizar seu tempo e deixar seu site rodando 24/7 sem você ficar digitando manualmente. Vamos falar sobre tarefas cron (pronuncia "crôn").
O que é uma tarefa cron?
Cron é bem simples: é um agendador automático que executa comandos ou scripts seus em dias/horários específicos. Tipo um alarme inteligente do seu site.
Pensa aqui: você tem um relatório que precisa rodar todo dia de manhã, ou uma limpeza de arquivos temporários toda semana. Em vez de você acordar cedo pra fazer isso, o cron faz sozinho.
Quando usar cron?
- Enviar e-mails automáticos (lembretes, newsletters, notificações agendadas)
- Fazer backup de dados regularmente
- Limpar arquivos antigos ou dados temporários da sua aplicação
- Gerar relatórios automáticos (vendas, acessos, etc.)
- Atualizar conteúdo (feeds, widgets, caches)
- Sincronizar dados com outras plataformas
💡 Dica Sensei: cron é perfeito pra tarefas que se repetem. Se é coisa única, não precisa.
Passo a passo: criando sua primeira tarefa
Vamos criar um cron bem simples. Aqui estão os passos:
- Entre no painel cPanel — aquele link que você recebeu no e-mail de boas-vindas.
- Procure por "Cron Jobs" na área de busca (fica na seção Avançado).
- Clique em "Adicionar uma nova tarefa Cron" (ou "Add New Cron Job").
- Preencha os campos:
- Email: deixa seu e-mail (cPanel vai mandar avisos se der erro)
- Comum (Common Settings): escolhe a frequência — tipo "a cada dia", "uma vez por hora", "às segundas".
- Comando: é o código que roda. Aqui entra a mágica! 🪄
- Clique em "Adicionar Tarefa Cron" e pronto!
Entendendo o comando cron
O comando é a parte mais importante. Aqui estão as receitas mais comuns:
Para executar um script PHP:
/usr/bin/php /home/seu_usuario/public_html/seu_script.php
Troca seu_usuario e seu_script.php pelos dados reais.
Para chamar uma URL (tipo um webhook):
/usr/bin/wget -O /dev/null https://seusite.com.br/backup.php
Ou com curl:
/usr/bin/curl https://seusite.com.br/relatorio.php
💡 Dica Sensei: usewgetoucurlquando o seu script fica numa URL acessível (tipo wp-admin/admin-ajax.php). Usephpdireto quando é um arquivo no servidor que você controla.
Exemplos práticos
Exemplo 1: Backup diário
/usr/bin/php /home/seu_usuario/public_html/admin/backup.php
Frequência: Diariamente às 3 da manhã (ou horário vazio de visitantes).
Exemplo 2: Limpar cache toda hora
/usr/bin/wget -O /dev/null https://seusite.com.br/wp-content/plugins/seu-plugin/limpar-cache.php
Frequência: A cada hora.
Exemplo 3: Enviar e-mail de resumo de vendas todo domingo à noite
/usr/bin/php /home/seu_usuario/public_html/relatorios/vendas.php
Frequência: Uma vez por semana (domingo, 20h).
💡 Dica Sensei: se você usa WordPress, tem um jeito especial — o WordPress tem o WP-Cron embutido. Mas agendar via cPanel do servidor é mais confiável porque não depende de visitantes.
Frequências pré-prontas (escolhe no dropdown)
- Sempre — roda a cada minuto (cuidado, faz muito barulho!)
- A cada 5 minutos
- A cada hora
- Diariamente — todo dia no horário escolhido
- Uma vez por semana — qual dia e horário
- Uma vez por mês — qual dia do mês
⚠️ Atenção: se escolhe "A cada minuto", o seu servidor vai ficar bem ocupado. Use só se é MESMO necessário.
Personalizando a frequência (avançado)
Se as opções pré-prontas não servem (tipo "toda terça e quinta às 15h"), tem um campo Avançado (Advanced) onde você escreve direto a sintaxe cron em formato especial:
minuto hora dia_mês mês dia_semana
Exemplos:
0 3 * * *— todo dia às 3 da manhã0 15 * * 1,3,5— toda segunda, quarta e sexta às 15h*/30 * * * *— a cada 30 minutos0 0 1 * *— no primeiro dia de cada mês (meia-noite)
💡 Dica Sensei: se isso parecer confuso, não se preocupa! Usa as frequências pré-prontas e depois vem voltar aqui se precisar de algo específico.
Como monitorar se funcionou
Depois de criar a tarefa, o cPanel manda avisos por e-mail. Se der erro, você recebe notificação (se marcou o e-mail no primeiro passo).
Dicas pra não ficar cego:
- Mantenha seu script simples — quanto menos código, menos pode dar errado.
- Deixe registros (logs) no seu script pra saber quando rodou e se funcionou.
- Comece com uma frequência rara — tipo uma vez ao dia. Depois, se tiver confiança, muda.
- Testa o script manualmente primeiro — entra na URL ou roda o comando à mão pra ter certeza que funciona.
Problemas comuns e soluções
❌ "O cron não executou, recebi um e-mail de erro"
Causa comum: o caminho do arquivo tá errado, ou o script tem um erro.
Solução: verifica o caminho (deve ser o path completo, não relativo); testa rodar o comando à mão antes de agendar.
❌ "Criei o cron mas não vejo nada acontecer"
Causa comum: o script tá correto mas não faz nada visível (tipo atualiza um banco internamente).
Solução: adiciona um log no script pra você rastrear. Tipo:
file_put_contents('/home/seu_usuario/public_html/logs/cron.log', date('Y-m-d H:i:s') . ' - Cron rodou!\n', FILE_APPEND);
❌ "O cron roda mas é muito pesado, tá travando o site"
Causa comum: a tarefa tá rodando no mesmo horário que tem muito acesso, ou tá rodando a cada minuto.
Solução: muda pra um horário com menos movimento (tipo 3 da manhã), ou reduz a frequência.
❌ "Não consigo achar Cron Jobs no cPanel"
Solução: procura por "Cron" na barra de busca no topo. Se não tiver a opção, liga pro suporte GeHost — pode ser que sua conta não tenha permissão.
💡 Dica Sensei: se ficar perdido, a gente tá aqui! Manda uma mensagem pro suporte GeHost com a dúvida e a gente te orienta.
Checklist: pronto pra usar cron?
- ☑️ Você sabe o que quer automatizar
- ☑️ Tem o caminho completo do seu script ou URL
- ☑️ Sabe em qual frequência precisa rodar
- ☑️ Testou manualmente se o script funciona
- ☑️ Colocou seu e-mail no campo de notificação
- ☑️ Criou a tarefa no cPanel
Pronto! Seu site agora é mais inteligente e trabalha pra você enquanto você dorme. 😄
🎯 Resumão Sensei: cron = seu assistente automático 24/7. Configura uma vez, e ele fica rodando por conta própria. Perfeito pra backups, limpeza, relatórios e notificações!