อยากจะดูว่าเน็ตที่บ้านเจ๊งบ่อยแค่ไหน ลองหาๆ เครื่องมือดูไม่รู้จะใช้อะไรดี MRTG ก็ไม่น่าจะตรง ลองลง bmon ดูก็ไม่ใช่ ก็เลยเขียนเองไปนิดหน่อย แบบนี้
netmon.bash
#!/bin/bash export LANG=C while [ 1 -eq 1 ]; do START=`date` curl --connect-timeout 10 $1 > /dev/null 2>&1 if [ $? -eq 0 ]; then STATE="SUCCESS " else STATE="FAIL " fi FINISH=`date` echo -e "$STATE\t$START\t$FINISH\t$1" sleep 10s done
เป็น bash script ไปเรียก curl เรียกแล้วมาไม่มาก็พิมพ์ออกมา เวลาเรียกใช้ผมก็ทำแบบนี้
./netmon.bash http://www.yahoo.com > yahoo.log 2> yahoo.elog &
พอมันทำงานไปได้สักพัก ด้วยความขี้เกียจก็มาสั่งแบบนี้
grep ^SUCC yahoo.log | wc -l grep ^FAIL yahoo.log | wc -l
ก็จะรู้คร่าวๆ ว่า ใช้ได้กี่ที และ ใช้ไม่ได้กี่ที ผมว่าถ้าจะเปรียบเทียบกันจริงๆ นับเวลาน่าจะดีกว่า แต่มานับครั้งมันก็ง่ายดี