SHELL脚本例子


crontab -l
*/1 * * * * /home/gdyh/cpu_memory_monitor.sh 2>/dev/null         # 每分钟执行,出错数据就不要
1 6 * * * /home/gdyh/cpu_busy_memory_avg.sh 2>/dev/null          #早上6点执行,出错数据就不要

cat cpu_busy_memory_avg.sh
#!/bin/bash
cd /home/gdyh/
#if [[ -f cpu_monitor.log ]]; then
#    rm -rf cpu_monitor.log
#fi
days_ago=`date -d '1 days ago' "+%Y-%m-%d"`         #前一天的日期
#days=`date "+%Y-%m-%d"`                               #日期格式:年-月-日
lines=`sort cpu_monitor.log | uniq | grep "$days_ago" | wc -l `         
#echo "lines=$lines"
all_busy=`grep "$days_ago" cpu_monitor.log | awk -F'|' '{print $2}' | awk '{sum=sum+$1;} END{print sum}' `   #以" | "作为分隔符
 #计算第2列的总和并输出

all_busy_avg=`awk 'BEGIN{printf"%.2f\n",'$all_busy'/'$lines'}' `     #输出格式为小数点后两位
all_user_free=`grep "$days_ago" cpu_monitor.log | awk -F'|' '{print $3}' | awk '{sum=sum+$1;} END{print sum}'`
all_user_free_avg=`awk 'BEGIN{printf"%.2f\n",'$all_user_free'/'$lines'}'`
#echo "$days_ago""|""$all_busy_avg""|""$all_user_free_avg"
echo "$days_ago""|""$all_busy_avg""|""$all_user_free_avg" >> cpu_busy_memory_avg.log     #追加内容到文件去

exit 0

cat cpu_memory_monitor.sh
#!/bin/bash
cd /home/gdyh/
#if [[ -f cpu_monitor.log ]]; then
#    rm -rf cpu_monitor.log
#fi
times=2
logtime=`date +"%Y-%m-%d %H:%M:%S"`           #时间格式为:年-月-日 时:分:秒
sum=`top -b -n $times | grep "Cpu" | cut -d "%" -f 4 | awk -F',' '{print $2}' | awk '{sum=sum+$1;} END{print sum} '`
idle_avg=`awk 'BEGIN{printf"%.2f\n",'$sum'/'$times'}'`
busy_avg=`awk 'BEGIN{printf"%.2f\n",'100'-'$idle_avg'}'`
user=`free | grep "buffers/cache" | awk '{print $3}'`
total=`free | grep -i "mem" | awk '{print $2}'`
user_avg=`awk 'BEGIN{printf"%.2f\n",'$user'/'$total'*'100'}'`
#echo "$logtime""|""$busy_avg""|""$user_avg" 
echo "$logtime""|""$busy_avg""|""$user_avg" >> cpu_monitor.log

exit 0



####    end     ###

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29874114/viewspace-1651146/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29874114/viewspace-1651146/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值