কনসোল থেকে ইন্টারনেট সংযোগ চেক করার কোনও সহজ উপায় আছে? আমি শেল স্ক্রিপ্টে চারপাশে খেলার চেষ্টা করছি। আমি মনে করি একটি ধারণা হ'ল ইন্টারনেট সংযোগটি ঠিকঠাক কাজ করছে কিনা তা ব্যাখ্যা করার জন্য HTTP প্রতিক্রিয়া কোডটি পরীক্ষা করে দেখুন। তবে আমি মনে করি যে কোনও সাইট কখনও ক্র্যাশ হবে না এমন চেকিংয়ের প্রয়োজনীয়তা ছাড়াই অবশ্যই সহজ উপায় থাকতে হবে;)wget --spider http://www.google.co.in/
সম্পাদনা: মনে হচ্ছে অনেকগুলি কারণ থাকতে পারে যা স্বতন্ত্রভাবে পরীক্ষা করা যেতে পারে, ভাল জিনিস। এই মুহুর্তে আমার উদ্দেশ্যটি আমার ব্লগটি বন্ধ আছে কিনা তা পরীক্ষা করা। প্রতি মিনিটে এটি পরীক্ষা করার জন্য আমার কাছে সেটআপ ক্রোন রয়েছে। এর জন্য, আমি আমার ব্লগের এইচটিটিপি প্রতিক্রিয়া কোড - স্পাইডারটির চেক করছি। যদি এটি 200 না হয় তবে এটি আমাকে অবহিত করে (আমি বিশ্বাস করি এটি কেবল পিং করার চেয়ে এটি আরও ভাল হবে, কারণ সাইটটি ভারী বোঝা হতে পারে এবং সময় শেষ হতে পারে বা খুব দেরিতে প্রতিক্রিয়া জানায়)। গতকাল, আমার ইন্টারনেট নিয়ে কিছু সমস্যা ছিল। ল্যানটি সূক্ষ্মভাবে সংযুক্ত ছিল তবে কেবল আমি কোনও সাইটে অ্যাক্সেস করতে পারিনি। সুতরাং আমি বিজ্ঞপ্তি পেতে থাকি কারণ স্ক্রিপ্টটি উইজেটের প্রতিক্রিয়ায় 200 খুঁজে পায় না couldn't এখন আমি নিশ্চিত করতে চাই যে আমার সাথে ইন্টারনেট কানেক্টিভিটি থাকলে এটি আমাকে বিজ্ঞপ্তি প্রদর্শন করে।
সুতরাং, ডিএনএস এবং ল্যান সংযোগের জন্য পরীক্ষা করা আমার কাছে কিছুটা ওভারকিল কারণ এটি কী সমস্যা তা নির্ধারণ করার মতো নির্দিষ্ট প্রয়োজনীয়তা আমার নেই। সুতরাং আপনি কীভাবে পরামর্শ দিন আমি এটি কীভাবে করব?
আমার ব্লগের ডাউনটাইম চেক করতে এখানে আমার স্ক্রিপ্ট রয়েছে:
#!/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
এইভাবে আমাকে কেবলমাত্র আমার ব্লগের প্রতিক্রিয়া কোডে কোনও সমস্যা আছে সেখানে ইন্টারনেট সংযোগের জন্য পরীক্ষা করা দরকার। এটি কিছুটা ভারী (যেমন আমি পিং ব্যবহার করছি না) তবে কোনও মিথ্যা ধনাত্মকতা দেওয়া উচিত নয়। রাইট? এছাড়াও আমি কীভাবে প্রতিটি সময় ফেসবুক, গুগল, ইয়াহু ইত্যাদি কোনও আলাদা সাইটে পিনিংকে এলোমেলো করে তুলতে পারি এছাড়াও (আমি কোনও আই / ও এড়াতে চেষ্টা করছিলাম) আমি লগ ফাইলটিতে লিখতে পারি যার মাধ্যমে আমি ডাউনটাইম চেকগুলি গণনা পরীক্ষা করতে পারি এবং তারপরে সাইটটি ডাউন না হওয়া পর্যন্ত আরও চেকগুলি এড়িয়ে চলুন বা দীর্ঘ চেকগুলি তৈরি করুন (প্রতি মিনিটের পরিবর্তে 10 মিনিট)। আপনি কি মনে করেন?