Скрипт оболочки для обработки процедуры перезапуска службы

Скрипт оболочки для обработки процедуры перезапуска службы

На наших серверах запущена сторонняя служба TTY для поддержки некоторых тонких клиентов, произведенных сторонними производителями.

Время от времени подключение к тонкому клиенту может зависать. Процедура заключается в остановке службы TTY, ожидании закрытия соединений, запуске службы TTY. Кроме того, на серверах CentOS 4.x командаinit q

Обычно мы делаем это вручную, от имени пользователя root.

service axtty stop

Остановить службу

netstat -d | grep axel

Запустите и отслеживайте команду netstat до тех пор, пока все соединения не будут закрыты, т. е. не останется строк, содержащих axel.

service axtty start

Запустить службу

Есть ли способ объединить все это в один автоматизированный скрипт оболочки (bash)?

Серверы — CentOS 4.x или 6.x

решение1

#!/bin/sh

service axtty stop

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

service axtty start

ПРИМЕЧАНИЕ: С помощью GNU sleepвы можете выполнить операцию sleep 0.1с плавающей точкой или другую дробную часть секунды.

Связанный контент