Como configurar um cron job para reiniciar automaticamente um serviço travado no VPS
Olá, querido(a) cliente da GeHost! 👋
Se você está aqui, provavelmente já passou por um momento em que um serviço no seu servidor — talvez um aplicativo, um script ou um serviço de back-end — parou de funcionar por algum motivo. E isso pode ser bem frustrante, especialmente se você precisa que o sistema fique online 24 horas por dia. A boa notícia é que, com um pequeno truque chamado cron job, você pode automatizar a verificação e reinicialização desse serviço, sem precisar ficar monitorando tudo o tempo todo. Vamos aprender isso juntos, passo a passo, como se fosse um mini-treinamento de DevOps com um toque de calor humano — porque, sim, até no mundo da tecnologia, cuidar do outro faz toda a diferença. 💛 ---Antes de começar: entenda o que é um cron job
Um cron job é como um alarme inteligente no seu servidor. Ele executa um comando ou script automaticamente, em horários definidos — por exemplo, a cada 5 minutos, toda manhã ou só quando o serviço parar.
Neste guia, vamos usar o cron para:- Verificar se um serviço está rodando;
- Reiniciá-lo automaticamente se ele estiver travado.
💡 Dica do Sensei: Esse método é ideal para serviços críticos como servidores de aplicação, APIs, ou até um site que precisa estar sempre online. Mas lembre-se: se o serviço travar por causa de um erro de código ou configuração, o cron só resolve a parte da reinicialização — não o problema de fundo. Ajustar o código é outra história! 😄---
Passo a passo: como configurar o cron job no seu servidor (cPanel)
Como você está usando um plano de hospedagem com cPanel (como todos os planos da GeHost), vamos usar o painel de controle para configurar isso. Não é necessário acesso root — tudo pode ser feito pelo cPanel, com segurança e tranquilidade.
- Acesse o cPanel pelo seu painel do cliente: painel.gehost.com.br.
- Na tela inicial, procure pela ferramenta chamada “Cron Jobs”. Ela está no grupo “Advanced”, geralmente na parte inferior da tela.
- Na tela de cron jobs, clique em “Add New Cron Job”.
- Escolha a frequência de execução. Para garantir que o serviço seja verificado com frequência, recomendo:
- Para reiniciar a cada 5 minutos: use
*/5 * * * * - Para reiniciar a cada 10 minutos: use
*/10 * * * * - Na caixa de comando, digite o script que vai verificar e reiniciar o serviço.
- Exemplo prático: Se o seu serviço se chama
myapp, o comando seria: - Defina o e-mail para receber notificações (opcional, mas recomendado). Assim, se algo der errado, você recebe um alerta por e-mail.
- Clique em “Add New Cron Job” para salvar.
Se você não souber exatamente qual frequência usar, comece com */5 (a cada 5 minutos) — é uma boa média para serviços importantes.
Exemplo comum (substitua nome_do_servico pelo nome real do seu serviço):
systemctl is-active nome_do_servico || systemctl restart nome_do_servico
Se você não sabe o nome do serviço, pode usar um script personalizado ou um comando que verifique um processo específico.
systemctl is-active myapp || systemctl restart myapp
📌 Atenção do Sensei: O comando acima só funciona se você tiver acesso ao---systemctl(como em sistemas com systemd). Isso é comum em servidores Linux modernos. Se o seu serviço for um script personalizado, você pode substituir o comando por um caminho completo, como: >>/home/seu_usuario/public_html/verifica_e_reinicia.sh…desde que o script exista e tenha permissão de execução.
Como criar um script personalizado (opcional, mas útil)
Se você quiser mais controle, pode criar um script que verifica o serviço e reinicia apenas se necessário. Veja como:
- No Gerenciador de Arquivos do cPanel, vá até a pasta
public_html(ou onde seu projeto está). - Crie um novo arquivo chamado
reinicia_servico.sh. - Adicione o seguinte conteúdo (ajuste o nome do serviço):
- Salve o arquivo.
- Volte ao cPanel > Cron Jobs e, em vez do comando antigo, use:
- Garanta que o script tenha permissão de execução:
#!/bin/bash
# Verifica se o serviço está ativo. Se não estiver, reinicia.
if ! systemctl is-active nome_do_servico > /dev/null 2>&1; then
echo "$(date): Serviço travado. Reiniciando..." >> /home/seu_usuario/logs/reiniciou.log
systemctl restart nome_do_servico
else
echo "$(date): Serviço está funcionando." >> /home/seu_usuario/logs/reiniciou.log
fi
/home/seu_usuario/public_html/reinicia_servico.sh
No Gerenciador de Arquivos, clique com o botão direito no arquivo > “Change Permissions” > marque a opção de “Execute” para o dono (usuário).
Pronto! Seu serviço agora é autossuficiente 🎉
Com esse cron job configurado, seu servidor vai verificar automaticamente se o serviço está funcionando e, se não estiver, reiniciá-lo sozinho — tudo sem você precisar estar lá.
>❤️ Um abraço do Sensei: Você está evoluindo. Cada pequeno passo com tecnologia é um passo em direção à autonomia e ao sucesso. E lembre-se: se algo não funcionar como esperado, o suporte da GeHost está aqui para ajudar. É só entrar em contato pelo painel do cliente — e vamos resolver juntos.---
Dados de contato da GeHost (em caso de dúvida)
Se precisar de ajuda com o comando, nome do serviço ou configuração, entre em contato com o suporte da GeHost:
- Site oficial: gehost.com.br
- Painel do cliente: painel.gehost.com.br
- Formas de pagamento: Cartão de crédito (via PayPal) ou Pix (via InfoPago).
- Empresa: G e Soluções e Eventos LTDA (CNPJ: 46.647.904/0001-04).
Se precisar de uma nota fiscal, consulte sua fatura — os dados fiscais estão lá.
---Que seu servidor fique forte, estável e sempre online. 🚀
Com carinho, seu Sensei da GeHost 💙