2012-04-19 90 views
3

我有一個小vps我主持一個我開發的web應用程序,它開始接受大量的訪問。獲取網站的狀態代碼在Linux中

我需要檢查/驗證一些情況,每隔X分鐘查看網絡是否啓動並運行(檢查狀態代碼,200)還是停機(代碼500),如果停機,則重新運行我爲重新啓動某些服務而創建的腳本。

任何想法如何檢查在Linux?捲毛,山貓?

+0

這是一個更適合於serverfault,但看看[這裏](http://www.pingdom.com/) - 他們有一個免費的計劃。 – josh3736 2012-04-19 13:56:37

+0

謝謝@ josh3736但我需要捕捉結果並根據結果做一些事情或其他事情。我發佈了一個適合我的答案 – Alex 2012-04-19 13:59:22

+0

使用第三方監控服務是一個非常好的主意,所以如果服務器本身出現故障,您可以收到警報。 (我假設你的重啓腳本在VPS上運行。) – josh3736 2012-04-19 14:02:01

回答

-1

好吧,我創建兩個腳本:

  1. site-statush.sh http://yoursite.com=>檢查網站的狀態,如果200沒有做的事情,否則調用services-action.sh重啓
  2. services-action.sh重啓=>重新啓動在$服務中給出的所有服務

瞧瞧吧https://gist.github.com/2421072

1

對於這樣的man頁面的工具通常提供了相當不錯的所有清單問題可能的選擇。

對於curl您還可以找到它here

您似乎搜索的選項是-whttp-code variable

編輯:

請參閱@如何使用-w肯的回答。

+0

yeap,'curl'就是我決定使用的。 – Alex 2012-04-19 13:51:50

2
curl --head --max-time 10 -s -o /dev/null \ 
    -w "%{http_code} %{time_total} %{url_effective}\n" \ 
    http://localhost 

超時10秒後,並報告響應代碼和時間

捲曲將與28個錯誤代碼退出,如果請求超時(檢查$?)

+0

是的,'捲曲'是解決方案。 – Alex 2012-04-19 13:52:13