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
fi
該腳本通過對$SPACE -ge 90分析判斷目前硬盤空間是否超過90%,在超過閥值時,向運維管理員郵箱[email protected] 發郵件並告知。
分享場景三:監控主機網卡流量
日常運維時如不及時掌握主機的網卡流量,當遇到主機網卡流量過大,會造成服務器網卡故障及很多不可預估問題發生 ,通過以下腳本可以有效率監控服務器網卡的流量情況,並通過腳本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
通過腳本完成運維過去靠人工完成繁瑣操作,有效提升運維工作的效率,減輕工作量。