Servidor & DevOps 32 visualizações

Como configurar um cron job para reiniciar automaticamente um serviço travado no VPS

Ver no WHMCS

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.

  1. Acesse o cPanel pelo seu painel do cliente: painel.gehost.com.br.
  2. Na tela inicial, procure pela ferramenta chamada “Cron Jobs”. Ela está no grupo “Advanced”, geralmente na parte inferior da tela.
  3. Tela inicial do cPanel com o grupo 'Advanced' destacado, onde está localizado o item 'Cron Jobs'
  4. Na tela de cron jobs, clique em “Add New Cron Job”.
  5. 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 * * * *

    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.

  6. Na caixa de comando, digite o script que vai verificar e reiniciar o serviço.
  7. 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.

  8. Exemplo prático: Se o seu serviço se chama myapp, o comando seria:
  9. systemctl is-active myapp || systemctl restart myapp
  10. Defina o e-mail para receber notificações (opcional, mas recomendado). Assim, se algo der errado, você recebe um alerta por e-mail.
  11. Clique em “Add New Cron Job” para salvar.
>
📌 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:

  1. No Gerenciador de Arquivos do cPanel, vá até a pasta public_html (ou onde seu projeto está).
  2. Crie um novo arquivo chamado reinicia_servico.sh.
  3. Adicione o seguinte conteúdo (ajuste o nome do serviço):
  4. #!/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
  5. Salve o arquivo.
  6. Volte ao cPanel > Cron Jobs e, em vez do comando antigo, use:
  7. /home/seu_usuario/public_html/reinicia_servico.sh
  8. Garanta que o script tenha permissão de execução:
  9. 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 💙

Precisa de Ajuda?

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