如何用shell脚本删除目录结构为日期的目录(date)

    xiaoxiao2021-03-25  94

    

    日志的目录结构为 /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"

    转载请注明原文地址: https://ju.6miu.com/read-11166.html

    最新回复(0)