CPU 로드 모니터링 스크립트 코드
#!/bin/bash
load=`uptime`
shijian=`date +%Y-%m-%d-%T`
file=cpustatus.txt
touch $file
all=`cat $file |wc -l`
printf "$load $shijian
" >> $file
if [[ $all > 60 ]] ; then
starttime=`cat $file |awk '{print $13}'|sort -r|tail -1`
stoptime=`cat $file |awk '{print $13}'|sort -n|tail -1`
loadavg=`cat $file |awk '{avg1+=$10;avg2+=$11;avg3+=$12}END{print avg1/NR,avg2/NR,avg3/NR}'`
high=`cat $file |awk '{print $10}'|sort -n|tail -1`
low=`cat $file |awk '{print $10}'|sort -r|tail -1`
printf "$starttime
load average $loadavg
high $high
low $low
$stoptime
" > j
#printf "load average $startus
" >>j
#mv $f $f.$b
fi
Crontab과 함께 사용하면 더욱 좋습니다.
다음은 다른 사람이 쓴 것이니 공유해 주십시오
#!/bin/bash
# IP
IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`
# CPU
cpu_num=`grep -c 'model name' /proc/cpuinfo`
count_uptime=`uptime |wc -w`
# 15
load_15=`uptime | awk '{print $'$count_uptime'}'`
# 15 , 1.0 0
average_load=`echo "scale=2;a=$load_15/$cpu_num;if(length(a)==scale(a)) print 0;print a" | bc`
#
average_int=`echo $average_load | cut -f 1 -d "."`
# shell (0-100 )
warn_input=$1
if [[ ! $warn_input =~ ^[0-100]+$ ]]
then
exit 0
else
if [[ "$warn_input" -lt 0 || "$warn_input" -gt 100 ]]
then
exit 0
else
load_warn=$(($warn_input/100))
fi
fi
if [ $average_int -gt 0 ]
then
echo "$IP 15 $average_load, 1.0, !!!$(date +'%Y-%m-%d %H:%M:%S')"
else
load_now=`expr $average_load \> $load_warn`
if [ $load_now -eq 1 ]
then
echo "$IP 15 $average_load, 0.7, !!!$(date +'%Y-%m-%d %H:%M:%S')"
else
echo "$IP 15 $average_load,cpu $cpu_num, 15 $load_15 $(date +'%Y-%m-%d %H:%M:%S')"
fi
fi
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.