Bash

使用 curl 和 shell 腳本重新啟動 apache

  • February 22, 2017

我想重新啟動apache伺服器,當它關閉時。因此,我在下面使用curlif循環編寫了一個腳本

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:預期一元運算符

curl如果伺服器沒有響應,預設情況下似乎會永遠等待,所以如果必須使用curl,請將其與--max-time參數一起使用。1 行腳本足以完成此任務:

curl --max-time 15 example.com || sudo service apache2 restart 

假設 vahaitech.com 是您的站點,如果 curl 沒有在 15 秒內完成下載,則重新啟動 apache2 服務。

例如,我認為您正在尋找上一個命令退出狀態標誌;

#!/bin/bash

curl example.com
if (( $? > 0 )); then
   sudo service apache2  restart
fi

這將查看 curls 退出狀態,如果它不是 0,它將重新啟動 apache2 伺服器

如果您想抑制這些命令的輸出使其不顯示任何內容,請務必添加

&>/dev/null

每個命令之後

引用自:https://unix.stackexchange.com/questions/327529