Header Ads

سكربت بسيط بالBash Scripting للحصول على معلومات كل 5 دقائق حول الرامات و المعالج و مساحة القرص

السلام عليكم ورحمة الله

الباش سكريبت يمكن اعتبارها كلغة برمجية للتعامل مع انظمة لينكس واي شيء يمكنك كتابته على سطر اوامر النظام يمكنك تنفيده كدلك من خلال سكريبت الباش , وتعطيك امكانيات فريدة من نوعها لتسهل عليك الكثير من الاعمال , ادا كنت جديد في الباش سكريبت فانصحك بالقراءة حولها اكثر لتستفيد من بعض امكانياتها اللامحدودة 😀👌



 
اليوم سنستخدم الباش سكريبت في عمل سكربت بسيط يوفر لنا معلومات حول الرامات و مساحة القرص و المعالج كل 5 دقائق يقوم السكربت بتفقد كل من ما دكرنا سابقا فادا وجد قيمة اي منهم بلغة قيمة معينة يقوم بتنبيهك من خلال اشعار يظهر على سطح

المكتب كما في الصورة التالية

 



اولا لنبدا بالاوامر التي توفر لنا المعلومات حول الرامات و المعالج و القرص الصلب


RAM: 
$ free -m


هدا الامر سيعطيك معلومات مفصلة حول الرامات القيمة المستخدمة و الاجمالية والقيمة الحرة

لاجل الحصول على السبة المستخدمة سنجري عملية رياضية بسيطة

وهي القيمة المستخدمة ضرب 100 على القيمة الاجمالية هكدا سنحصل على النسبة المؤوية المستخدمة من الرامات

الامر النهائي سيكون كالتالي



$ free -m | awk 'NR==2{print $3*100/$2}' | awk -F. '{print $1}'


الامر awk هو ادات للتعامل مع النصوص و استخراج البيانات منها

NR==2 لاستخراج البيانات من السطر الثاني

بعدها نجري العملية الرياضية التي سبق ودكرناها
CPU:
$ top -bn1


هدا الامر سيعرض قائمة بالبرامج الي تعمل في المعالج و نسبة الاستخدام لكل برمامج

سنقوم كدلك باستخدام awk على المخرجات للحصول على البيانات التي نحتاجها وهي نسبة الاستخدام للمعالج

الامر النهائي سيكون كالتالي




$ top -bn1 | grep load | awk '{print $(NF-2)}' | awk -F. '{print $1}'

DISK:
df -h


هدا الامر سيظهر جميع partitions الموجودة في الكمبيوتر و الحجم الاجمالي و الحجم المتبقي و نسبة الاستخدام 

مانحتاجه نحن هو partition الدي يشتغل عليه نظام لينكس الحالي

لدلك فالامر النهائي سيكون كالتالي



$ df -h | awk '$NF=="/"{print $5}' | awk -F% '{print $1}'


$NF=="/"

 من اجل التعامل مع السطر الدي يحتوي على القيمة "/" مسار الرووت والدي سكون نظام لينكس

الى هنا نكون قد جمعنا المعلومات التي نحتاجها من النظام بيقي ان نضعها في سكريبت لتم تنفيدها

السكريبت الاجمالي سيكون كالتالي





طريقة اظهار الاشعارات ستكون ببرنامج notify-send

 جرب تنفيد هدا الامر في الterminal

$ notify-send -u critical "OUR NOTIFICATION :)"

-u critical تعني ان الاشعار لن يختفي حتى تضغط عليه بالماوس

ادا لم يظهر اشعار على سطح المكتب
فقم يتثبيت البرنامج بالامر التالي

 $ sudo apt-get install libnotify-bin


الان لنجعل السكربت يشتغل كل 5 دقائق بعد تشغيل النظام


اولا انتقل الى اعدادات النظام settings

ثم session and startup



ثم application autostart ثم add




ثم املا البيانات التالية



name: اعطه اي اسم

Description: اعطه اي وصف

command: /bin/bash -c "sleep 15 && while true; do <your path to bash script, ex: /home/user/monitor.sh> ; sleep 300; done"


بعد do قم بوضع مسار السكربت
sleep 300 تعني ان البرنامج سيعمل كل 5 دقائق, يمكنك تغيير قيمتها بما يناسبك




الى هنا نكون قد وصلنا الى نهاية المنشور ان شاء الله يكون قد افادكم ولو بالقليل 😃👍
اي استفسارات ضعها في التعليقات وساحاول الاجابة عليها.

ليست هناك تعليقات