Script de Shell para procesar el procedimiento de reinicio del servicio

Script de Shell para procesar el procedimiento de reinicio del servicio

Estamos ejecutando un servicio TTY de terceros en nuestros servidores, para admitir algunos clientes ligeros fabricados por terceros.

De vez en cuando, la conexión a un cliente ligero puede bloquearse. El procedimiento es detener el servicio TTY, esperar a que se cierren las conexiones e iniciar el servicio TTY. Además, en los servidores CentOS 4.x el comandoinit q

Normalmente hacemos esto manualmente así, desde root.

service axtty stop

detener el servicio

netstat -d | grep axel

Ejecute y supervise el comando netstat hasta que se cierren todas las conexiones, es decir. No hay líneas que contengan axel.

service axtty start

Iniciar el servicio

¿Hay alguna manera de resumir todo eso en un único script de shell automatizado (bash)?

Los servidores son CentOS 4.x o 6.x

Respuesta1

#!/bin/sh

service axtty stop

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

service axtty start

NOTA: Con GNU sleep, podrías hacer sleep 0.1u otra fracción de punto flotante de 1 segundo.

información relacionada