自己编写的一个巡检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比较找出不同。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。