由於我們這裡一個程式的斷開連線開發的有問題,經常會有上千的連結處於ESTABLISHED狀態,但是實際上這些連結早就應該斷開,當這種連結堆積到一定程度就會出現伺服器訪問不能的狀況。所以才生成了下面的指令碼。
指令碼的目的是每過固定時間後進行一次統計,根據統計資料的增長速度和到達伺服器無法訪問狀態時堆積的連結數來判斷大概通過多長時間重啟一次服務。
- @Echo off
- set a=0
- netstat -an | find /i "8830" > c: est
- for /f "delims=" %%a in (`type c: est`) do set/a a+=1
- @Echo on
- echo "%date% %time%----%a%" <nul >> e:guishuditongji.txt
註釋:
1.關閉批處理程式的介面輸出,由於批處理每一個操作都會有對應的輸出,為了防止記錄的內容過於混亂,所以選擇關閉這些輸出,並在5的位置將輸出開啟,這樣記錄檔案裡面就能只記錄到自己想要的內容了;
2.設定一個變數,並在這裡強制賦值為0,如果不賦值,當指令碼第二次執行時a的大小會累加,造成資料的不準確;
3.檢視訪問,並通過find命令對輸出結果進行過濾;
4.簡單的可以看做一個累加計算;
5.這段的作用在1裡面已經提過了;
6.輸出想要的資訊並重定向到對應的記錄檔案。