- 论坛徽章:
- 0
|
服务器192.168.1.1上的/log/目录下面有 192.168.1.2 ~ 9以这8台服务器名字命名的日志文件目录。目录下面有XXXX.log.20130409-17的日志文件(这些日志是日志分析工具每个小时抓取的日志并放到不同服务器日志目录里的。
如今天到了18点那么 192.168.1.2 ~ 9的日志目录下面又会多出XXXX.log.20130409-18的日志)脚本的任务就是每分钟对比这些日志的改变时间和当前系统时间,如果两者相差超过5分钟就报警。
小弟是个linu新手,2年前学过一点liunx,shell脚本知识基乎为0也没写过任何脚本。但这个任务下来就得埋头苦思。我的思路暂时只想到先用stat XXXX.log.20130409-17 | grep Change | awk '{print $3}' | cut -c “4-5” 截取每小时日志的分钟
再和系统date | awk '{print $4}'| cut -c "4-5" 的分钟数对比,比如相减得到的结果如果大于5就报警。这个想法或许有些不现实,而且要想循环的在每台服务器日志目录下面去这样做,方法和思路上就完全没有主意了。
另外关于赋值和变量我试过
t1="date | awk '{print $4}'| cut -c 4-5"
t2="stat XXXX.log.20130409-17 | grep Change | awk '{print $3}' | cut -c 4-5"
time=expr $t1 - $t2
if [ $time -lt "0" -o $time -gt "5" ];then
echo 'erro'
fi;
但总是报错,对于没基础的我来说完全不知是怎么回事。而且也不知XXXX.log.20130409-17如何做一个变量赋值,因为这个日志是每下一个小时就有一个新的出来。好在如今网络发达,恳请各位高手给个指导和思路谢谢。 |
|