응용 프로그램 인스턴스가 언제 생겼는지 인식 할 수있는 셸 스크립트를 얻으려고합니다. 그렇게하면 명령을 계속 실행할 수 있습니다. 이 일을하더라도, 그것은 몇 가지 문제를 해결하지 않을,로그 메시지가 성공할 때까지 루프 쉘 스크립트
#/bin/bash
startApp.sh
while [ `tail -f server.log` -ne 'regex line indicating success' ]
do
sleep 5
done
echo "App up"
:하지만
나는 이런 식으로 뭔가 될 생각을 해 봤는데 앱에서 '아무튼 어떤 경우
- t는, 얼마나 내가 로그 라인을 캡처하고 를 반향 수있는 방법까지
- 응용 프로그램을 가져 오는 오류가 발생하면 어떻게
- 을 기다립니다 올
나는 가깝거나 더 좋은 방법이 있습니까? 나는 이것이 다른 관리자가 극복해야만하는 것이라고 생각합니다.
편집 :
내가 슈퍼 유저에 발견
https://superuser.com/questions/270529/monitoring-a-file-until-a-string-is-found
tail -f logfile.log | while read LOGLINE
do
[[ "${LOGLINE}" == *"Server Started"* ]] && pkill -P $$ tail
done
이 나의 유일한 문제는 그것이 결코 수도 출구이다. 최대 시간 내에 추가 할 수있는 방법이 있습니까?
statup에 실패하면 어떻게됩니까? –
글쎄요, 이것은 오래됐지만 시작이 실패하면 콘솔에서 Ctrl + C를 눌러 종료해야합니다. 궁극적으로 --pid 플래그는 sleep proc가 180 초 후에 종료되고 꼬리를 종료시켜 결국 전체 스크립트가 종료되도록합니다. – tpederson