Como executar script PHP seguro via CRON job com logging Print

  • 0

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 🌸


Was this answer helpful?

« Back