Ativar serviço que está parado

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

[ Hits: 2.937 ]

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

Backup para CD-R/RW e DVD+/- R/RW

Gerando lista de arquivos mp3 do disco em arquivo de formato HTML

Gerando pacotes do Slackware

Envio de e-mail via console

Firewall Pessoal (iptables)


  

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