Thứ Sáu, 22 tháng 2, 2013

[Shell] Dùng uptime tính tải hệ thống


1. Sử dụng uptime để tính toán tải của hệ thống. Vẽ biểu đồ tải hệ thống theo thời gian trong mỗi 5'. Nếu tải hơn 50% thì gởi email thông báo.

#!/bin/bash
clear
uptime | awk '{ print $(NF-2) " " $(NF-1) " " $(NF)}' >out
a=$(cut -d',' -f1 out | sed 's/^0.//g')
b=$(cut -d',' -f2 out | sed 's/^0.//g')
c=$(cut -d',' -f3 out | sed 's/^0.//g')
echo $a $b $c

echo "% CPU moi phut: "
for i in `seq 1 $a`
do
echo -n  "|"
done
echo " "
  
echo "% CPU moi 5 phut: "
for i in `seq 1 $b`
do
echo -n "|"
done
echo " "

echo "% CPU moi 15 phut: "
for i in `seq 1 $c`
do
echo -n "|"
done
echo " "

d=`echo "$a > 20" | bc -l`
if [[ $d -eq 1 ]] 
then
echo "CPU vuot qua 20%!!! Hien tai: $a%" >baocao
mail -s "Bao cao" root@localhost <baocao
fi

#ngoai ra con cau hinh trong crontab: */5 * * * * bash /root/Desktop/tenfileshell

Không có nhận xét nào:

Đăng nhận xét