Вопрос о сценариях Linux

У меня есть команда в Linux, который отображает список серверов (6 всего), которые работают в нормальном состоянии, показывающем "U" и несколько вниз/ненормальные условия (т.е., DN, ди-джей, UJ, УЛ. и т.д.).

Теперь я соединяю сценарий проводом для контроля этого. До сих пор у меня есть это вниз:

*A=command to get status of servers | grep 'U' |  awk '{print $1, $2}'|wc -l
if [ $A -lt 6 ];then
    "I need help with this section"

то, что я хочу сделать, если состояние "U" серверов - меньше чем 6 затем, я должен grep вообще быть вместо "U"

Спасибо.

-1
задан 27 February 2020 в 11:40

2 ответа

Если я понимаю Вас правильно и использование файла как пример вывода команды:

файл

U Server1 IP address
U Server2 IP address
U Server3 IP address
DN Server4 IP address
U Server5 IP address
U Server6 IP address

Затем:

servers=$(grep "^U" file | wc -l) # you don't need the awk part
[[ -z $servers || $servers -lt 6 ]] && grep -v "^U" file

Вывод:

DN Server4 IP address
3
ответ дан 27 February 2020 в 23:35

Поскольку более динамический подход пробует эту остроту:

s=$(get servers | grep -v ^U) || exit 0

Это получит Вас исключительные серверы внутри $s если существует кто-либо и выходит иначе.

Важный: замена get servers с Вашей пользовательской командой для получения списка сервера.

1
ответ дан 27 February 2020 в 23:35

Другие вопросы по тегам:

Похожие вопросы: