มีวิธีง่าย ๆ ในการตรวจสอบการเชื่อมต่ออินเทอร์เน็ตจากคอนโซลหรือไม่ ฉันพยายามที่จะเล่นในสคริปต์เชลล์ แนวคิดอย่างหนึ่งที่ฉันเห็นคือและตรวจสอบรหัสตอบกลับ HTTP เพื่อตีความว่าการเชื่อมต่ออินเทอร์เน็ตทำงานได้ดีหรือไม่ แต่ฉันคิดว่าต้องมีวิธีที่ง่ายโดยไม่จำเป็นต้องตรวจสอบไซต์ที่ไม่ผิดพลาด)wget --spider http://www.google.co.in/
แก้ไข:ดูเหมือนว่าอาจมีหลายปัจจัยที่สามารถตรวจสอบเป็นรายบุคคลสิ่งที่ดี ความตั้งใจของฉันในขณะนี้คือการตรวจสอบว่าบล็อกของฉันถูกลง ฉันมี cron ตั้งค่าเพื่อตรวจสอบทุกนาที สำหรับสิ่งนี้ฉันกำลังตรวจสอบรหัสตอบกลับ HTTP ของ wget --spider ไปยังบล็อกของฉัน หากไม่ใช่ 200 จะแจ้งเตือนฉัน (ฉันเชื่อว่านี่จะดีกว่าเพียงแค่ส่ง Ping ไปเนื่องจากไซต์อาจมีภาระมากและอาจหมดเวลาหรือตอบสนองช้าเกินไป) เมื่อวานนี้มีปัญหากับอินเทอร์เน็ตของฉัน LAN เชื่อมต่อได้ดี แต่ฉันไม่สามารถเข้าถึงเว็บไซต์ใด ๆ ได้ ดังนั้นฉันจึงได้รับการแจ้งเตือนอย่างต่อเนื่องเนื่องจากสคริปต์ไม่สามารถค้นหา 200 รายการในการตอบกลับ wget ตอนนี้ฉันต้องการตรวจสอบให้แน่ใจว่ามันแจ้งเตือนฉันเมื่อฉันมีการเชื่อมต่ออินเทอร์เน็ต
ดังนั้นการตรวจสอบการเชื่อมต่อ DNS และ LAN จึงเป็นเรื่องที่เกินความจำเป็นสำหรับฉันเนื่องจากฉันไม่จำเป็นต้องระบุปัญหามาก ดังนั้นคุณแนะนำอะไรฉันจะทำอย่างไร
นี่คือสคริปต์ของฉันเพื่อตรวจสอบการหยุดทำงานสำหรับบล็อกของฉัน:
#!/bin/bash
# Sending the output of the wget in a variable and not what wget fetches
RESULT=`wget --spider http://blog.ashfame.com 2>&1`
FLAG=0
# Traverse the string considering it as an array of words
for x in $RESULT; do
if [ "$x" = '200' ]; then
FLAG=1 # This means all good
fi
done
if [ $FLAG -eq '0' ]; then
# A good point is to check if the internet is working or not
# Check if we have internet connectivity by some other site
RESULT=`wget --spider http://www.facebook.com 2>&1`
for x in $RESULT; do
if [ "$x" = '200' ]; then
FLAG=1 # This means we do have internet connectivity and the blog is actually down
fi
done
if [ $FLAG -eq '1' ]; then
DISPLAY=:0 notify-send -t 2000 -i /home/ashfame/Dropbox/Ubuntu/icons/network-idle.png "Downtime Alert!" "http://blog.ashfame.com/ is down."
fi
fi
exit
วิธีนี้ฉันต้องตรวจสอบการเชื่อมต่ออินเทอร์เน็ตเฉพาะที่มีปัญหากับรหัสตอบกลับบล็อกของฉัน มันค่อนข้างหนัก (เพราะฉันไม่ได้ใช้ ping) แต่ไม่ควรให้ผลบวกใด ๆ ขวา? นอกจากนี้ฉันจะสุ่มส่ง Ping ไปยังเว็บไซต์อื่นทุกครั้งเช่น Facebook, Google, yahoo เป็นต้นได้อย่างไร (ฉันพยายามหลีกเลี่ยง I / O ใด ๆ ) ฉันสามารถเขียนลงในไฟล์บันทึกโดยที่ฉันสามารถตรวจสอบจำนวนการตรวจสอบการหยุดทำงานและ จากนั้นข้ามการตรวจสอบเพิ่มเติมจนกว่าไซต์จะหยุดทำงานหรือทำให้การตรวจสอบอีกต่อไป (10 นาทีแทนทุก ๆ นาที) คุณคิดอย่างไร?