日志的目录结构为 /opt/applog/log/server/yy/mm/dd
所以需要根据当天的日期,决定所删除的日志的路径
本例子是移除整个日期文件夹
-----------------------
#!/bin/bash
CDATE=`date +%Y/%m/%d`
echo "Today is :$CDATE, Deleting worker started"
TARGETDIR1=`date +/opt/applog/log/10.6.11.123/%Y/%m/%d --date="-2 day"`
rm -r $TARGETDIR1
TARGETDIR2=`date +/opt/applog/og/10.6.11.124/%Y/%m/%d --date="-2 day"`
rm -r $TARGETDIR2
echo "Today is :$CDATE, Deleting worker ended"
------------------------------------
1、获取日期:CDATE 为当前日期
Linux 自有变量 date + 格式
带引号的话表示为一个字符串,可以整体赋给左边,不带的话不知道
2、echo" " 为打印
3、变量的引用$: $CDATE
4、 删除文件夹:rm -r “文件夹名字”
5、 文件路径
`date +/opt/applog/log/10.6.11.123/%Y/%m/%d --date="-2 day"`
/opt/applog/10.6.11.123/2017/03/06
所以 --date="-2 day" 就是删掉两天前的日志
例如得到昨天的时间:
date +%Y%m%d --date="-1 day"
得到明天的时间:
date +%Y%m%d --date="+1 day"