自己编写的一个巡检Linux进程的Shell脚本

#/bin/bash
HINT(){
read -p "Press Enter tocontiune:"
}

CHECK_A(){
 ps -ef |grep cxiang|awk '{for(i=1;i<=7;i++)$i="";print}'  < text1 #使用grep与awk对进程进行筛选处理导到text1中。
 sed '/^.*/s/ //g' text1 >text3 #删除text1中前面的空行处理导到text3中
 grep -vwf text3 text2 #统计text3中没有,text2中有的行,这样就可以查找出那些进程没有的了。注:text2是标准进程文件
 rm -rf text1 text3 
}

CHECK_B(){
 ps -ef |grep cxiang|awk '{for(i=1;i<=7;i++)$i="";print}'  < text1
 sed '/^.*/s/ //g' text1 >text3
 grep -vwf text3 text2
 rm -rf text1 text3 
 }

CHECK_C(){
 ps -ef |grep cxiang|awk '{for(i=1;i<=7;i++)$i="";print}'  < text1
 sed '/^.*/s/ //g' text1 >text3
 grep -vwf text3 text2
 rm -rf text1 text3 
}


while ture //菜单的制作
do
clear
echo "############################################"
echo "1.检查A设备进程" 
echo "2.检查B设备进程" 
echo "3.检查C设备进程"
echo "4.退出程序"
echo "############################################"

read -p "请输入要检查的设备进程编号:" U_SELECT
case $U_SELECT in
    1)
    CHECK_A
    HINT 
    ;;
    2)
    CHECK_B
    HINT 
    ;;
    3)
    CHECK_C
    HINT
    ;;
    4)
    exit 
    ;;
    *)
    read -p "Please Select 1—3,Press Enter to contine:"
esac 

done

用于生产的服务器会部署一些标准的服务,当我们部署完成后,可以用这个脚本进行快速的监测。主要是利用标准进程文件与本机的进程文件,进行grep比较找出不同。

posted @ 2015-05-17 19:31  cxiang  阅读(607)  评论(0编辑  收藏  举报