Linux 下要檢查網路連線的工具有很多, 以下是用 Shell Script 檢查網路連線的方法。
最簡單的方法是用 ping 指令, 嘗試 ping google.com, 這樣除了測試網路連線外, 也一同測試 DNS:
1 2 3 4 5 6 7 |
#!/usr/bin/sh if ping -q -c 1 -W 1 google.com >/dev/null; then echo "Network is up" else echo "Network is down" fi |
執行上面的 Shell Script 後, 當網路連線及 DNS 正常, 會輸出 “Network is up”; 不正常敗會輸出 “Network is down”.
如果防火牆將 ping 封鎖了, 可以用 curl 測試連線, 寫法如下:
1 2 3 4 5 6 7 |
#!/usr/bin/sh case "$(curl -s --max-time 2 -I http://google.com | sed 's/^[^ ]* *\([0-9]\).*/\1/; 1q')" in [23]) echo "Network is up";; 5) echo "Web proxy blocked connection";; *) echo "Network is down or very slow";; esac |