カールとシェルスクリプトを使用してApacheを再起動します。

カールとシェルスクリプトを使用してApacheを再起動します。

再起動したいApacheサーバーがシャットダウンしたとき。だから私は以下を使って以下のスクリプトを書いた。カールそしてもしリング

curl example.com
si='curl example.com'
if test si !=0
then
service apache2 restart
fi
~

再起動を楽しみにしています。Apacheサイトがダウンしている場合

ただし、次のエラーが返されます。

curl:(7)example.comポート80に接続できません:接続が拒否されました。

autostart.sh:行8:テスト:si:単項演算子が必要です。

答え1

curlcurlデフォルトは、サーバーが応答しない場合は永遠に待機しているようですが、やむを得ず使用する必要がある場合は、--max-timeパラメーターと一緒に使用してください。これを行うには、1行のスクリプトで十分です。

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

これはカール終了状態をチェックし、ゼロでない場合はapache2サーバーを再起動します。

何も表示されないように、これらのコマンドの出力を抑制するには、次を追加します。

&>/dev/null

各コマンドの後

関連情報