Shell-Skript zum Verarbeiten des Dienstneustartverfahrens

Shell-Skript zum Verarbeiten des Dienstneustartverfahrens

Wir führen auf unseren Servern einen TTY-Dienst eines Drittanbieters aus, um einige von Drittanbietern hergestellte Thin Clients zu unterstützen.

Von Zeit zu Zeit kann die Verbindung zu einem Thin Client blockiert werden. Das Verfahren besteht darin, den TTY-Dienst zu stoppen, zu warten, bis die Verbindungen geschlossen werden, und den TTY-Dienst zu starten. Zusätzlich auf CentOS 4.x-Servern den Befehlinit q

Normalerweise machen wir das manuell, vom Root-Zugriff aus.

service axtty stop

Beenden des Dienstes

netstat -d | grep axel

Führen Sie den Befehl netstat aus und überwachen Sie ihn, bis alle Verbindungen geschlossen sind, d. h. keine Zeilen mehr enthalten axel.

service axtty start

Starten des Dienstes

Gibt es eine Möglichkeit, all dies in einem einzigen automatisierten Shell-Skript (Bash) zusammenzufassen?

Server sind CentOS 4.x oder 6.x

Antwort1

#!/bin/sh

service axtty stop

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

service axtty start

HINWEIS: Mit GNU sleepkönnen Sie sleep 0.1einen anderen Gleitkommabruchteil von 1 Sekunde verwenden.

verwandte Informationen