웹서버의 상태를 확인하고 싶습니다. 2분 이내에 http 응답을 받으면 서버를 다시 시작해야 합니다. 상태를 확인하기 위해 다음 명령을 사용하고 있습니다.
curl -s -w "%{time_total}\n" -o /dev/null http://localhost:8080/demo1/employee/hello
그러나 무한 루프를 실행하고 응답을 확인하십시오.
답변1
아래 스크립트는 URL에 걸리는 시간을 확인하고 2분 이상이면 if 조건을 입력합니다. 거기에 재시작 명령을 넣어야합니다. 반복당 60초 동안 절전 모드로 전환
#!/bin/bash
LOG_FILE=/tmp/log.txt
while true
do
echo "$(date) - Checking the URL is up or not" >> ${LOG_FILE}
TIME_TAKEN=$(curl -s -w "%{time_total}\n" -o /dev/null http://localhost:8080/demo1/employee/hello)
if [ "${TIME_TAKEN}" -gt "120" ]
then
echo "$(date) - Restart required. Time taken is ${TIME_TAKEN}" >> ${LOG_FILE}
# your restart command goes here
echo "$(date) - Successfully restarted" >> ${LOG_FILE}
fi
echo "$(date) - Sleep for 60 seconds" >> ${LOG_FILE}
sleep 60
done