bir önceki bash script de kullandıgımız top verisini süzdüğümüz kodu biraz geliştirelim..

top -b -n 1 | head -n 10 | grep average | awk '{print $12}' | cut -d, -f1

bu komudun sonucu direk rakam olarak ekrana gelecek.. şimdi elde edilen sayıyı shell script de yer alan durum operatörleri ile (küçük büyük eşittir) çalıştıralım mesela yukarıdaki komut değişken olsun ve ismide komutcan olsun bu komutcan bize değerleri versin bizde o değerlere göre
istediklerimizi yapalım..

-ge parametresini kullanarak yapacam Büyük veya eşittir demek..

Haa.. Birde log dosyası yapalım hangi saatler yada zaman birimleri arasında belirtilen kuralların dışına çıkıldı ve işlem yapıldı...


#/usr/bin/!
load="10"
komutcan=`top -b -n 1 | head -n 10 | grep average | awk '{print $12}' | cut -d, -f1 | cut -d. -f1`
if [ "$komutcan" -ge "$load" ]
then
echo "Son yeniden baslatma suresi: `date`" >> /var/log/r10net.load
# Kural ihlali durumunda yapılacak isler alt kısma girilecek
# Suyunu cikartirsaniz sonucu kotu olabilir 8)
service httpd restart
service mysql restart
service exim restart
# Kural Sonu
fi
bunu su şekil kaydedin..

nano /usr/bin/r10load
chmod +x /usr/bin/r10load

daha sonra

crontab'a ekleyin...

crontab -e

yazın en alt satıra şunu girin..

*/30 * * * * sh /usr/bin/r10load

her 30dk da bir kere kontrol etmesini sağlayacaksınız...

Tüm bu istekleriniz biraz daha yapıcı olursa ana kategoride konu olarak yayınlayacağım Sener diğer arkadaşlardan farklı birşey istedi bir sınırımız yok arkadaşlar hayal edebileceğimiz her işi linux ortamında size yaratabilirim

Script içinde kuralların yada işlemlerin yapılacagı bölümü belirttim en başta yer alan load değişkenine bir değer girin ben 10 girdim serverload 10 üzerinde yada 10 a eşit ise başlıyor httpd mysql ve exim i restart etmeye..