工作中发现某些服务器无故宕机,怀疑是系统问题,写了个小脚本放在crontab里每5分钟执行一次,检查生成日志文件,大于10M的备份。

#!/bin/bash
file=`find /dbhome/vmstat -size +10000k | grep vmstat | grep -v 2010`
process=`ps -ef | grep vmstat | grep -v grep | awk '{print $8}'| awk -F / '{print $4}'`
if [ "$process" == "vmstat" ]
then
 echo vmstat is running
else
 echo vmstat is not running
 /usr/bin/vmstat 1  >> /dbhome/vmstat/vmstat.txt &
fi
if [ "$file" == "/dbhome/vmstat/vmstat.txt" ]
then
        echo -e "`date +%Y%m%d%H`,file over then 10M" >> /dbhome/vmstat/find.txt
        killall -9 vmstat
        mv $file /dbhome/vmstat/`date +%Y%m%d%H%M`.txt
        /usr/bin/vmstat 1 >> /dbhome/vmstat/vmstat.txt &
else
        echo -e "`date +%Y%m%d%H`,file less then 10M" >> /dbhome/vmstat/find.txt
fi