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

来源:互联网 发布:移动硬盘拷贝到mac速度 编辑:程序博客网 时间:2024/06/05 18:01


日志的目录结构为 /opt/applog/log/server/yy/mm/dd

所以需要根据当天的日期,决定所删除的日志的路径

本例子是移除整个日期文件夹

-----------------------

#!/bin/bash  


. /etc/profile
. ~/.bash_profile
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
TARGETDIR3=`date +/opt/applog/log/10.6.11.125/%Y/%m/%d --date="-2 day"`
rm -r $TARGETDIR3

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"

0 0
原创粉丝点击