fix: rm expired file shell script
This commit is contained in:
51
tools/misc/rmexpiredfile.sh
Normal file
51
tools/misc/rmexpiredfile.sh
Normal 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
|
||||
Reference in New Issue
Block a user