Como agendar tarefas complexas combinando cron com scripts em Python ou Node.js
Olá, viajante do código! Seja bem-vindo ao seu novo guia de mestre na arte de automatizar tarefas no servidor — com o poder do cron e a criatividade do seu script em Python ou Node.js. Aqui, você vai aprender a fazer seu servidor trabalhar por você, sem precisar se lembrar de nada. É como ter um assistente digital, 24 horas por dia. Vamos nessa?
Entendendo o que é cron
Imagine um relógio que dispara uma ação em horários específicos. Esse é o cron — um agendador de tarefas no Linux. Ele é como um despertador inteligente para seu servidor. Com ele, você pode rodar um script todo dia às 3 da manhã, toda semana, ou até a cada 10 minutos.
Dica do Sensei: O cron é um aliado poderoso, mas atenção: não use horários muito precisos (como 00:00:01) se não tiver certeza do tempo de execução. Seu script pode não rodar no exato segundo que você quer.
Passo a passo: agendando um script com cron
-
Escreva seu script em Python ou Node.js
Antes de tudo, você precisa ter seu script pronto. Ele pode fazer qualquer coisa: limpar arquivos antigos, enviar e-mails, atualizar dados de um site, baixar informações de uma API, etc.
Exemplo simples em Python (salve como
limpa_cache.py):#!/usr/bin/env python3 import os import shutil # Caminho da pasta de cache cache_dir = "/home/seu_usuario/public_html/cache" if os.path.exists(cache_dir): shutil.rmtree(cache_dir) print("Cache limpo com sucesso!") else: print("Pasta de cache não encontrada.")Para Node.js, um script simples (
limpa_cache.js):#!/usr/bin/env node const fs = require('fs'); const path = require('path'); const cacheDir = path.join(__dirname, 'cache'); if (fs.existsSync(cacheDir)) { fs.rmSync(cacheDir, { recursive: true }); console.log('Cache limpo com sucesso!'); } else { console.log('Pasta de cache não encontrada.'); } -
Coloque o script na pasta pública do seu site
Seu script precisa estar dentro da pasta
public_htmlou em uma subpasta dentro dela. Isso garante que o servidor possa acessá-lo.Exemplo:
/home/seu_usuario/public_html/scripts/limpa_cache.py -
Dê permissão de execução
Seu script precisa ser "executável". Para isso, no terminal (via SSH), execute:
chmod +x /home/seu_usuario/public_html/scripts/limpa_cache.pyPara Node.js:
chmod +x /home/seu_usuario/public_html/scripts/limpa_cache.js -
Acesse o cPanel e abra o Cron Job
Entre no painel do cliente: painel.gehost.com.br. No menu, vá para “Cron Jobs” (dentro de “Advanced”).
-
Defina a frequência e o comando
Na tela de Cron Jobs, você verá campos como:
- Minute (minuto)
- Hour (hora)
- Day of Month (dia do mês)
- Month (mês)
- Day of Week (dia da semana)
Para rodar todos os dias às 3 da manhã, preencha assim:
- Minute: 0
- Hour: 3
- Day of Month: *
- Month: *
- Day of Week: *
Na caixa de comando, digite:
/usr/bin/python3 /home/seu_usuario/public_html/scripts/limpa_cache.pySe for Node.js:
/usr/bin/node /home/seu_usuario/public_html/scripts/limpa_cache.js⚠️ Importante: Use o caminho completo do interpretador (como
/usr/bin/python3ou/usr/bin/node) — o sistema não sabe onde procurar se não for explícito. -
Salve a tarefa
Clique em “Add New Cron Job” e espere a confirmação. Pronto! Seu script agora será executado automaticamente, conforme o agendamento.
Como testar se está funcionando
Depois de agendar, espere o horário marcado. Para testar imediatamente (sem esperar), você pode rodar o comando manualmente via SSH:
cd /home/seu_usuario/public_html/scripts
python3 limpa_cache.py
Se não houver erros, o script está funcionando. Se houver, verifique:
- Permissões de execução (use
chmod +x) - Caminho do interpretador (certifique-se de que
python3ounodeestá instalado) - Permissões de leitura/escrita na pasta
Pro tip do Sensei: Para saber se o cron está rodando, você pode fazer o script escrever um log. Exemplo:
echo "$(date): Cache limpo!" >> /home/seu_usuario/public_html/logs/cron.logAssim, você pode verificar depois se a tarefa foi executada.
Exemplos de tarefas úteis
- Limpar arquivos temporários a cada dia
- Atualizar dados de um site com informações de uma API externa
- Enviar e-mails automáticos de boletim semanal
- Backup de banco de dados diário
- Verificar se um serviço está ativo e reiniciá-lo se necessário
Importante: cuidados com segurança
Scripts agendados podem fazer coisas poderosas. Sempre:
- Evite colocar senhas ou dados sensíveis diretamente no código
- Use arquivos de configuração separados e com permissões restritas
- Teste em ambiente de desenvolvimento antes de agendar em produção
Pronto! Você é um mestre do cron agora.
Com esse guia, você transformou seu servidor em um aliado inteligente. Agora, ele faz o trabalho pesado sozinho — e você pode focar no que realmente importa: criar, inovar e sonhar.
Se precisar de ajuda, lembre-se: o suporte da GeHost está aqui por 30 dias após a entrega. E lembre-se também: o CNPJ da empresa é 46.647.904/0001-04 — caso precise de documentos fiscais.
Até a próxima, viajante. Que seu código seja leve, seu cron seja fiel e sua jornada, produtiva. 🌟