运维 -- SHELL命令与应用系统每日巡检

监控业务APPs的数量

       应用系统业务APP名称的命名规则统一, 可以通过管道符“|”链接ps ,grep, wc等命令,进行业务APPs数量的统计。 ps -ef 显示所有的进程状态,通过grep进行两次规则筛选,只保留业务APPs进程,wc进行数量计算。

COUNT=`ps -ef | grep 'java -jar' | grep '/opt/abc' | wc -l`

echo "$COUNT of process running." | tee -a /opt/logs/check-system.log

if [ $COUNT -eq 15 ];then 

    echo "System normal running "  | tee -a /opt/logs/check-system.logelse     

    echo "System exist excption. Check  the run status for all APPs. "  | tee -a /opt/logs/check-system.log

    sh /opt/bin/appManagement.sh all status | tee -a /opt/logs/check-system.log

fi 

业务系统APP进程状态检查

       检查业务系统APP进程的CPU使用率,内存使用率,内存大小,及运行状态,只需要ps -aux就能把所需要的信息全部展现出来,关键是如何提取这些信息,同样使用 grep ,awk,tee对输出的信息进行分拣加工。

ps aux | grep $P1 | grep $P2 | awk '{ print "%CPU:"$3"; %MEM:"$4"; RSS:"$6"KB;STATE:"$8"." }' | tee -a /opt/logs/check-system.log

$P1,$P2 两次筛选的关键字,确保数据的唯一性。

数据库备份数据检查

       MySQL数据库每日零点进行数据备份,通过find与wc命令,对备份数据包量进行检查,参考如下命令:

COUNT=`find /databasebackup/full -mtime 0 -name tjz-$SEQ* |wc -l`

if [ $COUNT -eq 1 ];

then 

 echo "Full backup is normal. "  | tee -a /opt/logs/check-system.log

else  

echo "Full backup exists excption. Please check it "  | tee -a /opt/logs/check-system.log

fi
COUNT=`find /databasebackup/increment -mtime 0 -name mysql-bin.* |wc -l`

if [ $COUNT -eq 1 ];

then  

   echo "Increment backup is normal. "  | tee -a /opt/logs/check-system.log

else  

   echo "Increment backup exists excption. Please check it "  | tee -a /opt/logs/check-system.log 

fi


你可能感兴趣的:(运维 -- SHELL命令与应用系统每日巡检)