컬 및 쉘 스크립트를 사용하여 아파치를 다시 시작하십시오.

컬 및 쉘 스크립트를 사용하여 아파치를 다시 시작하십시오.

다시 시작하고 싶어요아파치서버가 종료되면. 그래서 나는 다음을 사용하여 아래 스크립트를 작성했습니다.곱슬그리고만약에반지

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

curlcurl기본값은 서버가 응답하지 않으면 영원히 기다리는 것 같으니 부득이 하게 사용해야 한다면 --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

각 명령 후에

관련 정보