HOWTO определить, когда JBOSS полностью запущен и готов принять развертывания?

Пока awk обрабатывает файл, переменная NR представляет общее количество обработанных записей. Таким образом, вам нужно только добавить шаблон , такой как

(NR == 5)

, перед действием

{split($4,a,"/");...

, например,

(NR == 5){split($4,a,"/");...

, в строку процесса 5.

Если вы хотите обработать последний Только строка , затем вы можете сохранить строку в действии по умолчанию

{ save = $0; }

и обработать эту строку в разделе END . Но вам нужно будет выполнить разделение полей там ( $ 0 больше не применяется):

END {split(whatever,a,"/");...

Для диапазона вы должны использовать более сложное выражение,

( NR >= 2 && NR <= 5 )

, чтобы выбрать строки со 2 по 5.

Дополнительная литература:

2
22.03.2017, 16:46
1 ответ
#!/bin/bash

while true
  do
    wildflyStarted=$(grep -ic "Wildfly.*started in.*ms.*Started.*of.*services" /opt/wildfly/standalone/log/server.log)
    if [[ "$wildflyStarted" -eq "1" ]]; then
      break;
    else
      sleep 1;
    fi
  done

while true
  do
    ejbcaStatus=$(/opt/wildfly/bin/jboss-cli.sh -c --commands="cd deployment,cd ejbca.ear,read-attribute status")
    if [[ "$ejbcaStatus" -eq "OK" ]]; then
      break;
    else
      sleep 5;
    fi
  done

Этот скрипт у меня работал.

0
27.01.2020, 22:41

Теги

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