在运维过程当中,咱们有时须要对CPU进行优化,啥时候优化呢? 天然是出问题的时候,那么啥时候出问题呢? 这个问题就可使用咱们的shell脚本了.
python
原理: 经过监视一段时间内CPU使用状况,找出长期占用CPU的进程并对其进行优化,提升CPU的效率mysql
咱们先来写一个监视CPU并计算一小时内CPU的使用状况的脚本:sql
#!/bin/bashshell
SECS=3600数据库
UNIT_TIME=60bash
STEPS=$(( $SECS / $UNIT_TIME ))运维
echo Watching CPU usage... ;ide
for((i=0;i<STEPS;i++))工具
do优化
ps -eo comm,pcpu |tail -n +2 >>/tmp/cpu_usage.$$
sleep $UNIT_TIME
done
echo
echo CPU eaters :
cat /tmp/cpu_usage.$$ | \
awk '
{ process[$1] += $2; }'
END{
for(i in process)
{
printf( "%-20s %s\n",i,process[i]);
}
}' |sort -nrk 2 | head
rm /tmp/cpu_usage.$$
写惯了python,在写shell脚本,就会以为shell脚本比较晦涩,而python就不同了,简单,易懂,
以前有知识星球的星球居民问: shell都能用来干吗,好像学完了仍是不知道能写啥.
除了这个脚本外,shell还能够写不少管理脚本这里举例说明几个方向:
图像文件的缩放及格式转换
使用shell读取mysql数据库
用户管理
检查磁盘及文件系统错误
监控用户登陆防范******
搭建防火墙
写图片加载器及下载工具
跟踪网站变更等
其实有时候不用刻意迷信python,不少时候你以为python好,shell差,实在是你由于咱们写shell脚本能力太差.
固然了,有些事情python能作,shell作不了,后面咱们会来讨论python的妙处.