2023年9月24日 星期日

用 batch 幫網路做連線監測

我的工作中有部分在處理公司的 IT 各項工作。有的時候會需要監測網路的連線狀況,很簡單的只是看有沒有通?如果發生斷線在什麼時候?斷了多久?何時恢復?用來查找網路可能問題,也能用來反映給 ISP。

這裡提供一個你可以自行創造 bat 檔的 code,讓它全天做 ping 的測試,留下 log。

echo off

FOR /F "tokens=1-3 delims=/ " %%a IN ("%date%") DO (SET _today=%%a%%b%%c)

set host=168.95.1.1
set logfile=F:\pingGateway_%_today%.txt

echo Target Host=%host% > %logfile%

:loop
for /f "tokens=* skip=2" %%A in ('ping %host% -n 1') do (
  echo %date% %time:~0,-3% %%A>>%logfile%
  echo %date% %time:~0,-3% %%A
  timeout /t 1 /nobreak>nul
  goto loop
)
pause>nul
上方的紅色字部分,你可以代換成任何你要監測對象的 IP 或是 domain。藍色字的則是所產生的 log 要寫到哪個檔案去。上面這個 code 是會依照日期產生不同 log 檔的。

這裡有測試影片供你參考:https://youtu.be/F28p1RWmzb0

知識參考來源:https://tinyurl.com/23jbl6hd