Ativar serviço que está parado
Publicado por Marcos Junior (última atualização em 20/11/2018)
[ Hits: 3.095 ]
Homepage: stroncry.com.br
Me deparei com um problema onde um serviço parava e tinha de ser iniciado manualmente. Criei um shell script para verificar a quantidade desse serviço executando e caso fosse menor que 1, ativar novamente.
Citarei o exemplo do serviço de vpn do hamachi:
1. Com o serviço ativo, listar todos contendo "logmein-hamachi", que é o nome do serviço:
# ps -aux | grep logmein-hamachi
root 396436 0.1 0.0 126228 6476 ? Ss 14:55 0:00 /opt/logmein-hamachi/bin/hamachid
root 405541 0.0 0.0 14252 968 pts/0 S+ 15:06 0:00 grep --color=auto hamachi
2. Verificar o nome que vamos usar para listar a quantidade de serviços do logmein-hamachi em execução. Iremos pegar o resultado da primeira coluna:
# ls | ps -e -o comm,command | grep logmein-hamachi
hamachid /opt/logmein-hamachi/bin/hamachid
grep grep --color=auto logmein-hamachi
3. O resultado da primeira coluna é o hamachid, ignore o retorno do grep.
Para listar a quantidade de serviços em execução:
# ls | ps -e -o comm | grep hamachid | wc -l
1
Retornou 1. No shell script farei a busca de quantos serviços em execução e caso seja menor que 1, irá executar automaticamente o service restart:
4. Crie o arquivo shell script:
$ touch serviceverifica.sh
5. Permissão de execução no shell script:
$ chmod +x serviceverifica.sh
6. Edite o shell script com seu editor favorito, no meu caso usarei o vim.tiny:
$ vim.tiny serviceverifica.sh
Deixar o script com este conteúdo:
#!/bin/bash
#lista a quantidade de registros ativos do hamachi e armazena na variável QUANTIDADE_HAMACHI
QUANTIDADE_HAMACHI="`ls | ps -e -o comm | grep hamachid | wc -l`"
#se $QUANTIDADE_HAMACHI for menor que 1:
if [ $QUANTIDADE_HAMACHI -lt 1 ];
then
#ativa o serviço do hamachi
service logmein-hamachi start
fi
#--------FIM DO SHELL SCRIPT---------------#
Espero ter ajudado.
#!/bin/bash #lista a quantidade de registros ativos do hamachi e armazena na variável QUANTIDADE_HAMACHI QUANTIDADE_HAMACHI="`ls | ps -e -o comm | grep hamachid | wc -l`" #se $QUANTIDADE_HAMACHI for menor que 1: if [ $QUANTIDADE_HAMACHI -lt 1 ]; then #ativa o serviço do hamachi service logmein-hamachi start fi #--------FIM DO SHELL SCRIPT---------------#
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - CRIANDO USUÁRIOS
Apagando 2 linhas do fim de um arquivo
Troca de link em caso de queda de Internet (FAILOVER)
substituir strings nos nomes de arquivos
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Gravação de tela com temporizador
Eu tive esse erro aqui depois de de baixar o HyprLand Ubuntu na versão... (1)
Como fazer boot em img do debian 12.img da web? (11)
Manjaro 25.0 no permite usar crontab (1)