免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1687 | 回复: 4
打印 上一主题 下一主题

[日期时间] 求大神们指点一个shell写法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-04-09 16:57 |只看该作者 |倒序浏览

服务器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如何做一个变量赋值,因为这个日志是每下一个小时就有一个新的出来。好在如今网络发达,恳请各位高手给个指导和思路谢谢。

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
2 [报告]
发表于 2013-04-09 17:01 |只看该作者
t1=$(date | awk '{print $4}'| cut -c 4-5)

论坛徽章:
0
3 [报告]
发表于 2013-04-09 17:13 |只看该作者
回复 2# waker
原来要这样赋值变量啊,受教了。感谢楼主回复。我自己再琢磨琢磨下面的

   

论坛徽章:
6
摩羯座
日期:2013-08-24 10:43:10狮子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午马
日期:2014-09-28 16:06:0015-16赛季CBA联赛之八一
日期:2016-12-19 13:55:0515-16赛季CBA联赛之天津
日期:2016-12-20 14:01:23
4 [报告]
发表于 2013-04-09 19:32 |只看该作者
本帖最后由 cao627 于 2013-04-09 19:47 编辑

  1. cd $path  #path为服务器192.168.1.1上的/log/目录下面 192.168.1.2 ~ 9目录的其中之一。 可以将如下代码写进函数,用这些目录作为参数分别调用这个函数。
  2. t1=`date  +%s`
  3. newfile=`ls -lt   *log.*-* | awk 'NR==1{print $9}'`   
  4. t2=`stat -c %Y $newfile`
  5. n=$(((t1-t2)/60))
  6. time=${n#-}  
  7. if [  $time -gt 5 ];then
  8.     echo 'erro'
  9. fi
复制代码

论坛徽章:
0
5 [报告]
发表于 2013-04-09 21:23 |只看该作者
回复 4# cao627

非常感谢回复,我看了兄弟写的脚本 =,目前只能看懂一些,部分还不是特别明白。有问题我在向你请教


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP