fix: rm expired file shell script

This commit is contained in:
2023-10-28 16:09:11 +08:00
parent 9a7733d083
commit 3f6b76d912

View File

@@ -0,0 +1,51 @@
#!/bin/bash
export LANG="zh_CN.UTF-8"
# ---------------------------------------------------------------------
# 定时清理反馈结果的日志文件夹 仅保留最近2周记录
# 文件夹格式yyyy-mm-dd
# Author : Madr
# Date : 2020年10月15日16:57:22
# ---------------------------------------------------------------------
#15天以前日期
dayAgo=$(date -d"15 day ago" +%Y-%m-%d)
#日志文件路径
logPath=/home/gsidc/app/nhis/log/
#记录操作日志
printFile=/home/gsidc/app/nhis/remove_nhis.log
echo '当前时间' `date +%Y-%m-%d` `date +%T` >> ${printFile}
echo '10天以前' ${dayAgo} >> ${printFile}
echo '开始删除,删除的目录列表如下' >> ${printFile}
dayAgoStr=${dayAgo}" 00:00:00"
dayAgoTime=`date -d "$dayAgoStr" +%s`
for dir in $(ls $logPath)
do
if [ ! $dir ];
then
echo 'dir为空,安全起见,本次任务终止!'>> ${printFile}
exit
else
#仅删除目录文件
if [ -d $logPath$dir ] ;
then
#因为文件夹名称为日期格式(yyyy-mm-dd), 转为时间戳进行比较
dirStr=${dir}" 00:00:00"
dirTime=`date -d "$dirStr" +%s`
if [ $dirTime -lt $dayAgoTime ];
then
echo ${logPath}"$dir" >> ${printFile}
#删除指定日期之前的目录
rm -rf ${logPath}"$dir"
fi
else
echo $logPath$dir '不是文件夹,不删除'>> ${printFile}
fi
fi
done
echo '删除完成!'>> ${printFile}
————————————————
版权声明本文为CSDN博主「Mar5342」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。
原文链接https://blog.csdn.net/mar5342/article/details/109121623