Ativar serviço que está parado

Publicado por Marcos Junior (última atualização em 20/11/2018)

[ Hits: 2.949 ]

Homepage: stroncry.com.br

Download serviceverifica.sh




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.

  



Esconder código-fonte

#!/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---------------#

Scripts recomendados

Bloquear o DHCP de dispositivos móveis

Script para Ler código de barras serial e jogar no buffer do teclado

Redundância de dois links de internet

Gerência do tempo de inicialização das MFs de uma nuvem privada com o OpenNebula

Claro 3g Sony Ericsson md300 script conexao REVISAO 2


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts