Linux运维处理及监控脚本【Linux运维之道之脚本案例】
Linux日常运维工作一个一个命令搞是一件苦事情,作为新一代IT运维工作者,在工作中不断探索提升效率方法和经验,摸索出不少脚本,减轻日常工作量。脚本的出现后给运维工作带来一扇曙光。以下让我们一起走进Linux脚本的世界,一起分享这份经验。
分享场景一:运维过程通过脚本批量删除文件。
运维时遇到在tmp文件目录下存放大最的 ppxx__*的临时文件,每天晚上0:30后要把前一天文件进行清理。由于要在晚上进行自动清理,只能考虑采用脚本操作方法,脚本设计考虑到执行效率,每次执行时负载等影响因素。综合各方面的因素把脚本设计如下:
#!/bin/sh
cd /tmp
time=’date – d “ 2 day ago” “+%b%d”
ls –l | grep “ppxx” | grep “$ time” | awk ‘ { print $NF }’ | xargs rm –rf
通过自动操作以上脚本把tmp目录下 ppxx开头的临时文件进行自动清理。
分享场景二:运维监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告给运维人员
#!/bin/bash
#monitor available disk space
SPACE='df | sed -n '/ \ / $ / p' | gawk '{print $5}' | sed's/%//'
if [ $SPACE -ge 90 ]
then
administrator@center.com
fi
该脚本通过对$SPACE -ge 90分析判断目前硬盘空间是否超过90%,在超过阀值时,向运维管理员邮箱administrator@center.com 发邮件并告知。
分享场景三:监控主机网卡流量
日常运维时如不及时掌握主机的网卡流量,当遇到主机网卡流量过大,会造成服务器网卡故障及很多不可预估问题发生 ,通过以下脚本可以有效率监控服务器网卡的流量情况,并通过脚本speedrx_after-speedrx_before查出speedrx_result是瞬时流量,及speedtx_after-speedtx_before查出speedtx_result是超出流量。
#!/bin/bash
#network
#Mike.Xu
while : ; do
speedtime='date +%m"-"%d" "%k":"%M'
speedday='date +%m"-"%d'
speedrx_before='ifconfig eth0|sed -n "8"p|awk '{print $2}'|cut -c7-'
speedtx_before='ifconfig eth0|sed -n "8"p|awk '{print $6}'|cut -c7-'
sleep 2
speedrx_after='ifconfig eth0|sed -n "8"p|awk '{print $2}'|cut -c7-'
speedtx_after='ifconfig eth0|sed -n "8"p|awk '{print $6}'|cut -c7-'
speedrx_result=$[(speedrx_after-speedrx_before)/256]
speedtx_result=$[(speedtx_after-speedtx_before)/256]
echo"$speedday$speedtime Now_In_Speed: "$speedrx_result"kbps Now_OUt_Speed: "$speedtx_result"kbps"
sleep 2
done
通过脚本完成运维过去靠人工完成繁琐操作,有效提升运维工作的效率,减轻工作量。
http://yaabb163.blog.51cto.com/1975905/1350391