Como configurar um cron job que avisa por e-mail quando uma tarefa falha imprimir

  • 0

Como configurar um cron job que avisa por e-mail quando uma tarefa falha

Oi! Aqui é a Sensei da GeHost 🥋 e hoje vamos resolver uma dor clássica de quem automatiza tarefas no servidor: o famoso "a tarefa falhou silenciosamente e ninguém percebeu". Se você tem um cron job (uma tarefa agendada) rodando um script, backup, importação ou qualquer rotina automática, o ideal é que, quando algo der errado, você receba um e-mail na hora — em vez de descobrir o problema dias depois.

Vamos passo a passo, sem pressa. Este é um tema de SSH & Avançado, então recomendo seguir com calma e, se travar em algum ponto, chamar o suporte — estamos aqui pra ajudar.

1. Entendendo o problema

Por padrão, o cron do cPanel roda sua tarefa e, se ela gerar alguma saída de texto (output), pode te mandar um e-mail com esse conteúdo — mas isso não distingue "deu tudo certo" de "deu erro". Muita gente acaba ou recebendo e-mail toda hora (mesmo quando está tudo ok) ou não recebendo nada. O segredo é fazer o script avisar só quando falhar.

💡 Dica da Sensei: todo comando no Linux, ao terminar, devolve um "código de saída". 0 significa sucesso; qualquer outro número significa que algo deu errado. É esse código que vamos usar pra decidir se manda e-mail ou não.

2. Acessando o cPanel

Primeiro, entre no seu painel cPanel com o usuário e senha da sua hospedagem (você recebe esse acesso por e-mail na contratação, e pode conferir tudo também pelo painel.gehost.com.br).

Tela de login do cPanel com campos de usuário e senha

Depois de logar, você cai na tela inicial, onde ficam organizadas todas as ferramentas por grupo (E-mail, Arquivos, Bancos de Dados, e por aí vai). É lá, na seção de Avançado, que fica a ferramenta Cron Jobs.

Painel inicial do cPanel com os grupos de ferramentas

3. Usando o e-mail padrão do cPanel (jeito mais simples)

Na própria tela de Cron Jobs existe um campo chamado "E-mail padrão para Cron" (ou "Cron Email"), onde você informa o endereço que vai receber os avisos. Esse é o jeito mais simples de começar — mas lembre que ele avisa sempre que houver qualquer saída de texto do comando, e não especificamente "erro".

Pra quem quer algo mais preciso — avisar só quando a tarefa realmente falhar — o próximo passo é o pulo do gato.

4. O truque: avisar SÓ quando der erro

A ideia é envolver o comando original numa "casquinha" que verifica o resultado dele. Em vez de rodar o comando puro no cron, você roda algo assim no campo de comando do cron job:

  1. Redirecione a saída do seu script para um arquivo temporário de log.
  2. Use o operador || (que só executa a segunda parte se a primeira falhar) pra disparar o e-mail com o conteúdo desse log.

Um exemplo de comando (ajuste o caminho do script e o e-mail):

/caminho/para/seu-script.sh > /tmp/saida_tarefa.log 2>&1 || mail -s "Falha na tarefa agendada" seuemail@seudominio.com < /tmp/saida_tarefa.log

Explicando cada parte, com carinho:

  • > /tmp/saida_tarefa.log 2>&1 — guarda tudo que o script "diz" (inclusive erros) num arquivo.
  • || — "se o comando anterior falhar, faça o que vem depois".
  • mail -s "..." seuemail@... < arquivo — manda um e-mail com o assunto que você quiser, usando o conteúdo do log como corpo da mensagem.
⚠️ Atenção: nem todo ambiente de hospedagem tem o comando mail disponível da mesma forma. Se o e-mail não chegar, fale com o suporte pra a gente conferir junto com você o melhor caminho no seu plano.

5. Cadastrando o cron job no cPanel

Com o comando pronto, é só cadastrar na tela de Cron Jobs:

  1. Escolha a frequência (minuto, hora, dia, mês, dia da semana).
  2. Cole o comando completo (o de baixo, com o ||) no campo "Comando".
  3. Clique em Adicionar Novo Cron Job.

Pronto! Agora, sempre que o script terminar com erro, você recebe um e-mail de aviso; quando tudo correr bem, silêncio — nada de caixa de entrada lotada por engano.

6. Testando antes de confiar

Nunca configure um cron job de aviso de falha sem testar de propósito um cenário de erro (por exemplo, apontando o script pra um caminho errado só pra ver se o e-mail chega). Assim você garante que, no dia em que a falha for real, o aviso vai funcionar.

🥋 Palavra da Sensei: automação boa é aquela que avisa quando algo sai do previsto — não aquela que fica "quieta" esperando você notar sozinho. Testar o alerta de erro é tão importante quanto testar a tarefa em si.

Precisa de ajuda?

Se você tem um plano de manutenção ativo ou está dentro do período de suporte gratuito de 30 dias após a entrega, pode chamar a gente que ajudamos a revisar seu cron job. Fora isso, qualquer dúvida, abra um chamado pelo painel.gehost.com.br que a equipe te orienta com todo cuidado.


Esta resposta lhe foi útil?

« Retornar