shell 定时清理日志脚本

默认保留 最近两天的日志


:<<EOF
  shell 获取当前日期的两种方式
  1. today=$(date '+%Y%m%d %H:%M:%S')  
     注意 : +%Y%m%d %H:%M:%S必须被单引号括起来。这里的%Y%m%d %H:%M:%S 是格式话语句,同java
  2. today=`date '+%Y%m%d %H:%M:%S'`
  
  shell 获取之前/ 之后 日志的方式
     1. 可以使用  date -d "yesterday/tomorrow" 等关键字 
     2. 可以使用 date -d "n day ago"  n 是数字,获取之前的日期
         例如  2 day ago (两天前)  , 3 days 三天后
     示例

     printf "获取昨天的日期:%s %s\n" $(date -d "yesterday" '+%Y-%m-%d %H:%M:%S')
     printf "获取昨天的日期:%s %s\n" `date -d "2 day ago" '+%Y-%m-%d %H:%M:%S'`
     # 上面之所以 用 两个 %s 是因为 打印的日期中间有空格。

     printf "获取明天的日期:%s \n" $(date -d "tomorrow" '+%Y%m%d-%H:%M:%S')
     printf "获取明天的日期: %s \n" `date -d "2 days" '+%Y%m%d-%H:%M:%S'`

EOF


today=$(date '+%Y-%m-%d')
yesterday=$(date -d "1 day ago" '+%Y-%m-%d')
echo $today
echo $yesterday
echo ${#today}
echo $date
for file in `ls /data/jinl/apache-tomcat-7.0.64/logs`;do
   if [ ${#file} -gt 15 ]
   then
     if [[ $file != ??*"$today"* && $file != ??*"$yesterday"* ]]
     then
        realpath="/data/jinl/apache-tomcat-7.0.64/logs/${file}"
        rm -rf $realpath
     fi
   fi
done

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值