Меню Zenity Shell для более 50 серверов, как оставаться в меню сервера?

Я пытаюсь создать меню оболочки zenity для управления 50 + серверами и хочу добавить несколько настраиваемых функций. например: – когда сервер идет вниз, я хочу ssh в нем, а затем проверьте загрузку, free -m, последние 10 минут apache / nginx-журналы, журналы exim, журналы запросов mysql и многое другое. У меня есть сценарии для всех этих потребностей. Но я застрял здесь, пожалуйста, помогите.

у этих серверов есть мой ssh-ключ, поэтому нет проблем с выполнением ssh.

я успешно регистрирую серверы, но дело в том, что когда я получаю сервер через ssh, сценарий заканчивается и после выхода на сервер я нахожусь на терминале моей локальной машины без скрипта, тогда мне нужно снова запустить скрипт для получения сервера меню. Скажите, пожалуйста, как я могу оставаться в цикле, я имею в виду, как оставаться в меню сервера, затем ssh на любой сервер, и когда я выйду с сервера, вернитесь в меню сервера. пожалуйста помоги . Я хочу настроить его больше.

=========== его короткий сценарий, чтобы дать вам идею ребят. мой исходный скрипт имеет все серверы ======

#!/bin/bash dialog --menu "select" 40 40 5 1 server.hades 2 server.fire 3 server.geb 4 server.isis 5 exit 2> /tmp/a choice=`cat /tmp/a` if [ $choice -eq 1 ] then ssh 1.2.3.4 fi if [ $choice -eq 2 ] then ssh 2.3.4.5 fi if [ $choice -eq 3 ] then ssh 2.3.3.5 fi if [ $choice -eq 4 ] then ssh 8.3.4.8 fi if [ $choice -eq 5 ] then echo "BIE BIE" fi 

One Solution collect form web for “Меню Zenity Shell для более 50 серверов, как оставаться в меню сервера?”

Похоже, вы хотите запустить скрипт в каком-то цикле, но вы пропустите цикл. Модификация модификации, вероятно, будет такой модификацией:

 [... the rest of choices ...] if [ $choice -eq 5 ] then echo "BYE BYE" exit fi exec $0 

Это выйдет, если вы выберете последний вариант (5), но в противном случае повторите выполнение самого скрипта.

Или просто добавьте цикл:

 while true; do dialog --menu "select" 40 40 5 1 server.hades 2 server.fire 3 server.geb 4 server.isis 5 exit 2> /tmp/a choice=`cat /tmp/a` if [ $choice -eq 2 ] then ssh 192.168.187.* fi [... the rest of choices ...] if [ $choice -eq 5 ] then echo "BIE BIE" break fi done 

«пока» код работал для меня. Спасибо.

  • Как получить номер строки выбранного элемента Zenity
  • Завершить скрипт с помощью индикатора прогресса zenity
  • Есть ли программа, которая запустит настраиваемое контекстное меню
  • Могу ли я показать два отдельных списка с Zenity?
  • Повторное использование пользовательского ввода в скрипте
  • Что случилось с моим диалогом зенитности? селектор не распространяется по вертикали
  • вызывать скрипт, если окно zenity минимизировано, изменено или перемещено
  • Окно сообщения GUI в SLES 11
  • GTK: задание цвета переднего плана и фона в командной строке
  • Сохранять диалоги «Zenity» всегда на верхнем плане на переднем плане
  • Zenity отказывается работать в фоновом режиме
  • Linux и Unix - лучшая ОС в мире.