Ativar serviço que está parado
Publicado por Marcos Junior (última atualização em 20/11/2018)
[ Hits: 3.219 ]
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---------------#
iptables geral com roteamento de portas
Gerando lista de arquivos mp3 do disco em arquivo de formato HTML
Copia arquivos distribuidos em pastas diferentes para uma única pasta.
ddflash - criar mídia bootável do Linux e FreeBSD
Nenhum comentário foi encontrado.
Desktop Linux ganha novos apps enquanto IA invade o noticiário
Blender 5.0 Beta, Firefox 144 e avanço da IA dominam o dia no mundo Linux
Desktop Linux ganha fôlego enquanto distros refinam experiência e segurança
Wayland em alta, IA em debate e novos ventos para distros e devices
Qt 6.10 e Python 3.14 puxam o ritmo do software livre nesta quarta
Como mudar o nome de dispositivos Bluetooth via linha de comando
Adicionando o repositório backports no Debian 13 Trixie
Erro ao fazer remaster usando Penguin eggs (4)
Linux x Plataformas de Trading - um problema (in-)solúvel? (3)