Como agendar o reinício automático de um serviço travado no VPS imprimir

  • 0

Como agendar o reinício automático de um serviço travado

Olá! Aqui é a Sensei da GeHost 🌱 Se você tem uma aplicação, um bot ou um script que às vezes "trava" e some do ar até alguém perceber e reiniciar na mão, este guia é pra você. Vamos criar uma pequena rotina automática que verifica se o serviço está de pé e, se não estiver, dá um "empurrãozinho" para ele voltar sozinho — sem você precisar ficar de olho o dia inteiro.

Este é um conteúdo da categoria SSH & Avançado. Ele pressupõe que você já tem alguma familiaridade com linha de comando. Se você nunca usou terminal antes, tudo bem seguir o passo a passo com calma — e, em qualquer dúvida, nosso suporte está por perto para ajudar.

Antes de começar

  • Verifique, no seu painel do cliente ou com o nosso suporte, se o Acesso SSH está habilitado para o seu ambiente — nem todo plano vem com isso ativado por padrão, e às vezes é só uma solicitação simples.
  • Você vai precisar saber o comando que "liga" o seu serviço normalmente (por exemplo, o comando que você usa para iniciar sua aplicação Node, um script Python, um bot, etc.).
  • Tenha em mãos um cliente de terminal (Terminal do Mac/Linux, PowerShell ou PuTTY no Windows) ou use o próprio Terminal disponível dentro do cPanel.

Passo 1 — Escreva um "script vigia"

A ideia é simples: um pequeno script que pergunta "meu serviço está rodando?" e, se a resposta for não, ele mesmo dá o comando para religar. Pense nele como um zelador que passa de tempos em tempos verificando se a luz da sala está acesa.

  1. Acesse o Gerenciador de Arquivos do cPanel (ou conecte via SSH) e crie um arquivo chamado, por exemplo, vigia_servico.sh dentro da sua pasta pessoal (fora da public_html, por segurança).
  2. Cole um conteúdo parecido com este, adaptando para o nome do seu processo e o comando real de inicialização:
#!/bin/bash
# Verifica se o processo está rodando; se não estiver, reinicia
if ! pgrep -f "nome_do_meu_processo" > /dev/null
then
    cd /home/SEUUSUARIO/pasta_da_aplicacao
    nohup ./comando_de_inicio.sh > log_vigia.txt 2>&1 &
fi

Troque "nome_do_meu_processo" por um trecho único que identifique o seu serviço (o nome do script ou da aplicação), e comando_de_inicio.sh pelo comando que você normalmente usa para iniciar o serviço.

Passo 2 — Dê permissão de execução

Ainda no terminal, rode:

chmod +x vigia_servico.sh

Isso avisa ao sistema que esse arquivo pode ser executado como um programinha, e não apenas lido como texto.

Passo 3 — Agende a verificação com um Cron Job

Agora vem a parte mágica: em vez de você lembrar de rodar esse script, o próprio servidor vai fazer isso automaticamente, em intervalos regulares.

  1. No cPanel, procure a ferramenta "Cron Jobs" (geralmente na seção Avançado).
  2. Em "Adicionar um novo Cron Job", escolha a periodicidade — por exemplo, "a cada 5 minutos" é um bom ponto de partida para um serviço que precisa de resposta rápida.
  3. No campo de comando, informe o caminho completo do script, assim:
/home/SEUUSUARIO/vigia_servico.sh
  1. Salve. Pronto — a partir de agora o servidor vai "cutucar" seu serviço no intervalo escolhido e religá-lo sozinho se ele estiver fora do ar.
Dica da Sensei: comece com um intervalo maior (a cada 15 ou 30 minutos) enquanto testa, e só depois diminua para 5 minutos se realmente precisar de uma resposta mais rápida. Isso evita sobrecarregar o ambiente com verificações repetidas demais.

Passo 4 — Teste antes de confiar de olhos fechados

  1. Pare o serviço manualmente (do jeito que você já faz quando precisa reiniciar).
  2. Espere o próximo horário do Cron Job rodar.
  3. Confira se o serviço voltou sozinho — você pode olhar o arquivo log_vigia.txt criado no Passo 1 para ver se houve uma tentativa de reinício.

Cuidados importantes

  • Use um trecho bem específico no pgrep para identificar seu processo — se o termo for muito genérico, o script pode "achar" que outro processo qualquer é o seu serviço.
  • Evite agendar o Cron Job para rodar em intervalos muito curtos (por exemplo, a cada minuto) sem necessidade real — prefira o menor intervalo que já resolve o seu caso.
  • Guarde uma cópia do script fora da pasta pública do site, para que ele não fique acessível pela internet.

E é isso! Com esses quatro passos, você deixa um "cuidador automático" rodando nos bastidores, cuidando do seu serviço para você. Se em algum momento o script não se comportar como esperado, é só chamar nosso suporte — ficamos felizes em dar uma olhada junto com você. 🌿


Esta resposta lhe foi útil?

« Retornar