SSH & Avançado 17 visualizações

Como executar script PHP seguro via CRON job com logging

Ver no WHMCS

Como Executar Script PHP Seguro via CRON Job com Logging (Guia para Iniciantes com Cuidado e Carinho)

Olá, querido(a) cliente! 😊

Se você está aqui, provavelmente quer automatizar algo no seu site — talvez limpar logs, enviar e-mails, atualizar dados ou fazer backup de informações — e quer fazer isso com segurança, sem riscos, e com um "registro de tudo o que aconteceu". Isso é possível com o CRON job no cPanel, e hoje eu, sua Sensei da GeHost, vou te ensinar como fazer isso com PHP seguro e logging (registro de atividades), passo a passo, com carinho e clareza.

Dica da Sensei: Nunca execute scripts PHP diretamente via navegador ou com comandos perigosos. O CRON é a forma segura e confiável de automatizar tarefas.

Passo 1: Prepare seu script PHP

Antes de tudo, você precisa ter um arquivo PHP pronto. Ele deve estar dentro da pasta public_html (ou em uma subpasta, como scripts/).

Exemplo simples de um script seguro: meu_script.php

<?php
// Arquivo: meu_script.php
// Início do script com segurança

// Evite erros visíveis ao usuário
error_reporting(0);
ini_set('display_errors', 0);

// Log de início
$logfile = '/home/SEU_USUARIO/logs/meu_script.log';
$timestamp = date('Y-m-d H:i:s');
$message = "Execução iniciada às $timestamp\n";

file_put_contents($logfile, $message, FILE_APPEND | LOCK_EX);

// Aqui vai sua lógica: enviar e-mail, atualizar banco, etc.
// Exemplo: escrever algo no log
file_put_contents($logfile, "Tarefa realizada com sucesso.\n", FILE_APPEND | LOCK_EX);

// Finalização
file_put_contents($logfile, "Execução finalizada.\n\n", FILE_APPEND | LOCK_EX);

echo "Script executado com sucesso.\n";
?>

💡 Dica da Sensei: Sempre use file_put_contents() com FILE_APPEND | LOCK_EX para evitar conflitos se o script rodar mais de uma vez ao mesmo tempo.

Passo 2: Crie uma pasta de logs (segurança e organização)

Seu script precisa salvar o log em um lugar seguro. Vamos criar uma pasta chamada logs dentro de sua conta.

1. Acesse o Gerenciador de Arquivos no cPanel.

Tela do Gerenciador de Arquivos no cPanel

2. Navegue até a pasta public_html.

3. Clique em Novo Arquivo e crie uma pasta chamada logs.

4. Clique com o botão direito na pasta logs e selecione Editar Permissões.

5. Defina as permissões como 755 (ou use o botão "Ajustar Permissões" com esses valores).

🔐 Segurança: O arquivo de log deve ser gravado por um usuário, mas não acessível via navegador. O cPanel já cuida disso se você usar a estrutura correta.

Passo 3: Acesse o CRON Job no cPanel

1. No painel do cPanel, vá até a seção “Tarefas Agendadas (Cron)”.

Painel inicial do cPanel com o grupo de ferramentas 'Tarefas Agendadas (Cron)'

2. Clique em “Cron Jobs”.

Passo 4: Configure o CRON job com segurança

Agora vamos configurar o agendamento. Vamos supor que você quer rodar o script todos os dias às 3 da manhã.

1. No campo “Command”, digite:

/usr/bin/php /home/SEU_USUARIO/public_html/scripts/meu_script.php > /home/SEU_USUARIO/logs/meu_script.log 2>&1

Explicação simples:

  • /usr/bin/php — caminho do interpretador PHP no servidor.
  • /home/SEU_USUARIO/public_html/scripts/meu_script.php — caminho do seu script.
  • > /home/SEU_USUARIO/logs/meu_script.log — redireciona a saída normal.
  • 2>&1 — redireciona também os erros (mensagens de erro).

💡 Dica da Sensei: Nunca use caminhos como ~/ ou ./ no CRON. Sempre use caminhos absolutos.

2. No campo “Minute”, selecione 0.

3. No campo “Hour”, selecione 3.

4. No campo “Day”, selecione *.

5. No campo “Month”, selecione *.

6. No campo “Weekday”, selecione *.

Isso significa: todo dia, às 3 da manhã.

Passo 5: Salve e verifique

1. Clique em “Adicionar Tarefa Agendada”.

2. Volte para a lista de CRON jobs. Você verá seu script listado com a frequência.

3. Para testar, você pode rodar o script manualmente (com um botão de teste, se disponível), ou aguarde a próxima execução.

Passo 6: Verifique o log (confirme que funcionou)

1. Volte ao Gerenciador de Arquivos.

2. Acesse a pasta logs.

3. Abra o arquivo meu_script.log.

4. Você deverá ver algo como:

Execução iniciada às 2025-04-05 03:00:00
Tarefa realizada com sucesso.
Execução finalizada.

Execução iniciada às 2025-04-06 03:00:00
Tarefa realizada com sucesso.
Execução finalizada.

✅ Parabéns! Seu script está rodando com segurança e deixando um rastro claro.

Conclusão: Sua Sensei te ensinou com carinho

Com este guia, você agora sabe como:

  • Escrever um script PHP seguro.
  • Armazenar logs de forma organizada.
  • Agendar tarefas com CRON com segurança.
  • Verificar o que aconteceu com facilidade.

Seu site está mais seguro, mais organizado, e você, mais tranquilo. 💖

Se tiver dúvidas, é só chamar a GeHost — estamos aqui para te ajudar, sempre.

Com carinho,
Sua Sensei da GeHost 🌸

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.