linux 脚本实现定时清理超时文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux 脚本实现定时清理超时文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1687字,纯文字阅读大概需要3分钟。
内容图文
![linux 脚本实现定时清理超时文件](/upload/InfoBanner/zyjiaocheng/972/145b09286be84b53bad97842e54955db.jpg)
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
内容总结
以上是互联网集市为您收集整理的linux 脚本实现定时清理超时文件全部内容,希望文章能够帮你解决linux 脚本实现定时清理超时文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。