linux获取前一天时间的方法

 

date -d '-1 day' +%y-%m-%d 

 工作中遇到这样的一个问题:

 

   写过一个脚本记录每天的nmap扫描结果,名称都是+%y-%m-%d.log格式的文件名,今天的结果会跟昨天的对比,对比结果有不同就会发送报警!

   然后我想增加一个功能,在发送报警的同时,将该服务器的端口报错历史也报出来,效果如下:

   2014-03-03 07:55:14    localhsot    [192.168.1.1]    外网端口: 80 状态已关闭 历史:三天前该端口开放

#!bin/bash

hostn=`hostname`
for((m=1;m<=5;m++));
      do
                datetime=`date -d "-$m day" +%y-%m-%d`
                if [ ! -f ${datetime}.log ];then
                        break
                fi
                 message=`cat "${datetime}.log" | grep  ${hostn}`
                if [ -z "$message" ];then
                         continue
                else
 
                         echo "历史:$message" 
                fi
      done

所以使用 date -d "-${m} day" +%y-%m-%d 可以获得过去m天的时间

更多相关脚本参考:http://www.521478.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值