Como agendar a execução automática de uma consulta SQL de manutenção via cron
Olá, querido(a) cliente! Seja bem-vindo(a) ao seu Sensei da GeHost — aqui, vamos juntos tornar sua hospedagem mais inteligente, segura e tranquila. Hoje, vamos aprender como agendar uma consulta SQL para rodar automaticamente, como um pequeno zumbi de manutenção que cuida do seu banco de dados sozinho. 😊
Imagine isso: você tem uma tabela de pedidos que precisa ser limpa a cada semana, ou um relatório que deve ser gerado todo dia às 2 da manhã. Em vez de fazer isso manualmente, você configura o cron — um assistente invisível do sistema — para executar essa tarefa sozinho. É como ter um ajudante digital que nunca dorme!
Passo a passo: agendando sua consulta SQL com o cron
-
Entre no painel do cPanel do seu site. Para isso, acesse painel.gehost.com.br e faça login com seu usuário e senha.
-
Na tela principal do cPanel, localize e clique na ferramenta chamada “Cron Jobs”. Ela está dentro do grupo “Advanced” — geralmente perto do final da lista.
-
Na tela de Cron Jobs, clique em “Add New Cron Job” (ou “Adicionar novo Cron”).
-
Agora, vamos configurar o horário. No campo “Common Settings”, escolha uma opção pré-definida, como:
- “Once per day” — uma vez por dia
- “Once per week” — uma vez por semana
- “Once per month” — uma vez por mês
Se precisar de um horário específico, escolha “Custom” e defina minuto, hora, dia, mês e dia da semana.
-
Na caixa de texto “Command”, digite o comando que vai rodar sua consulta SQL. Ele deve seguir este formato:
php /caminho/para/seu/script.php
💡 Dica sensata: você precisará criar um arquivo PHP (ex:
manutencao.php) dentro da pastapublic_htmldo seu site. Esse arquivo conterá o código PHP que conecta ao banco de dados e executa sua consulta SQL. -
Exemplo simples de conteúdo para
manutencao.php:<?php // Conexão com o banco de dados (use seus dados reais) $host = 'localhost'; $user = 'seu_usuario_banco'; $pass = 'sua_senha_banco'; $dbname = 'seu_banco'; $conn = new mysqli($host, $user, $pass, $dbname); if ($conn->connect_error) { die("Erro na conexão: " . $conn->connect_error); } // Sua consulta SQL de manutenção $sql = "DELETE FROM pedidos WHERE data_criacao < '2023-01-01'"; if ($conn->query($sql) === TRUE) { echo "Consulta executada com sucesso!"; } else { echo "Erro: " . $conn->error; } $conn->close(); ?>📌 Importante: substitua os dados do banco (usuário, senha, nome) pelos seus reais. Você encontra esses dados no painel do cPanel, na ferramenta “Bancos de Dados MySQL”.
-
Salve o cron job. No campo “Command”, digite:
php /home/seu_usuario/public_html/manutencao.php
Substitua
seu_usuariopelo nome real da sua conta no cPanel (você pode ver isso no painel). -
Pronto! O cron agora está agendado. Ele rodará de acordo com o horário que você escolheu, executando sua consulta SQL automaticamente.
Como verificar se está funcionando?
Depois de um ciclo (ex: no dia seguinte), acesse o arquivo manutencao.php pelo navegador (ex: seusite.com/manutencao.php). Se aparecer “Consulta executada com sucesso!”, tudo está funcionando. Se não, verifique os erros no log do cron (acessível no painel, em “Cron Jobs” → “Show Log”).
Dicas do Sensei
- Teste seu script antes de agendar no cron. Execute-o manualmente no navegador para garantir que não há erros.
- Nunca deixe senhas ou dados sensíveis expostos no código. Use arquivos de configuração separados, se necessário.
- Evite agendar tarefas muito pesadas no horário de pico. Prefira madrugada, por exemplo.
- Se precisar, você pode gerar um arquivo de log para registrar o que o cron fez. Basta adicionar
> /home/seu_usuario/logs/manutencao.log 2>&1ao final do comando.
Se tiver dúvidas ou precisar de ajuda com o código, seu Sensei da GeHost está aqui. É só entrar em contato pelo suporte — e lembre-se: 30 dias grátis após a entrega estão à sua disposição.
Com carinho,
Seu Sensei da GeHost 🌿