1.生成.sh文件
日志输出目录:/user/FileClear/
folderFile0:清理的目录
timeout0:当前时间超过清理文件的最后修改时间多少秒的文件,进行清理
type0:对于目录下,文件夹为空 是否需要删除 0:不删除 1:删除
#!/bin/sh
#当前时间
timecur=$(date "+%Y-%m-%d %H:%M:%S")
function deleteTimeOutFile(){
local folderFile=$1
local timeout=$2
local type=$3
local outpath="/user/FileClear/info$(date "+%Y%m").log"
if [ -d "$folderFile" ] ; then
local folderFileList=`ls $folderFile`
for folderFileOne in $folderFileList
do
local folderFileNew=$folderFile$folderFileOne
if [ -d "$folderFileNew" ] ; then
# 是文件夹
echo $(date "+%Y-%m-%d %H:%M:%S")" 文件夹:"$folderFileNew
deleteTimeOutFile $folderFileNew"/" $timeout $type
if [ "`ls -A $folderFileNew`" = "" ]; then
# type文件夹是否需要删除 0:不删除 1:删除
if [ $type -eq 1 ]; then
echo $(date "+%Y-%m-%d %H:%M:%S")" 删除文件夹 path:"$folderFileNew" timeout:"$timeout >> $outpath
rm -rf $folderFileNew
fi
fi
elif [ -f "$folderFileNew" ] ; then # 是文件
echo $(date "+%Y-%m-%d %H:%M:%S")" 文件:"$folderFileNew
local filetimestamp=`stat -c %Y $folderFileNew` # 文件最后修改时间
local timestamp=`date +%s` # 当前系统时间
local timecha=$[$timestamp - $filetimestamp]
if [ $timecha -gt $timeout ];then
echo $(date "+%Y-%m-%d %H:%M:%S")" 删除文件 path:"$folderFileNew" timeout:"$timeout" timecha:"$timecha >> $outpath
rm -rf $folderFileNew
fi
else
echo $(date "+%Y-%m-%d %H:%M:%S")" 都不是 path:"$folderFileNew >> $outpath
fi
done
else
echo $(date "+%Y-%m-%d %H:%M:%S")" 文件夹不存在 path:"$folderFile >> $outpath
fi
}
folderFile0=/user/FileClear/testPath/ # 路径
timeout0=86400 # 单位秒
type0=1 # type文件夹是否需要删除 0:不删除 1:删除
deleteTimeOutFile $folderFile0 $timeout0 $type0