Script de shell para processar o procedimento de reinicialização do serviço

Script de shell para processar o procedimento de reinicialização do serviço

Estamos executando um serviço TTY de terceiros em nossos servidores, para oferecer suporte a alguns thin clients fabricados por terceiros.

De tempos em tempos, a conexão com um thin client pode ficar bloqueada. O procedimento é parar o serviço TTY, aguardar o fechamento das conexões e iniciar o serviço TTY. Além disso, nos servidores CentOS 4.x, o comandoinit q

Normalmente fazemos isso manualmente assim, a partir do root.

service axtty stop

Pare o serviço

netstat -d | grep axel

Execute e monitore o comando netstat até que todas as conexões sejam fechadas, ou seja. Nenhuma linha contendo axel.

service axtty start

Inicie o serviço

Existe uma maneira de resumir tudo isso em um único script de shell automatizado (bash)?

Os servidores são CentOS 4.x ou 6.x

Responder1

#!/bin/sh

service axtty stop

while netstat -d | grep -q axel ; do
  sleep 1
done

service axtty start

NOTA: Com GNU sleep, você poderia fazer sleep 0.1outra fração de ponto flutuante de 1 segundo.

informação relacionada