다시 시작하고 싶어요아파치서버가 종료되면. 그래서 나는 다음을 사용하여 아래 스크립트를 작성했습니다.곱슬그리고만약에반지
curl example.com
si='curl example.com'
if test si !=0
then
service apache2 restart
fi
~
다시 시작하길 기대하고 있어요아파치사이트가 다운된 경우 서버
하지만 다음과 같은 오류가 반환됩니다.
컬: (7) example.com 포트 80에 연결할 수 없습니다: 연결이 거부되었습니다.
autostart.sh: 8행: 테스트: si: 단항 연산자가 필요합니다.
답변1
curl
curl
기본값은 서버가 응답하지 않으면 영원히 기다리는 것 같으니 부득이 하게 사용해야 한다면 --max-time
매개변수와 함께 사용하세요. 이 작업을 수행하려면 스크립트 한 줄이면 충분합니다.
curl --max-time 15 example.com || sudo service apache2 restart
vahaitech.com이 귀하의 사이트라고 가정하고, 컬이 15초 이내에 다운로드를 완료하지 않으면 apache2 서비스를 다시 시작하십시오.
답변2
예를 들어, 이전 명령 종료 상태 플래그를 찾고 있다고 생각합니다.
#!/bin/bash
curl example.com
if (( $? > 0 )); then
sudo service apache2 restart
fi
이것은 컬 종료 상태를 확인하고 0이 아닌 경우 apache2 서버를 다시 시작합니다.
아무것도 표시되지 않도록 이러한 명령의 출력을 억제하려면 다음을 추가하십시오.
&>/dev/null
각 명령 후에