欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在linux上使用shell .sh脚本删除指定目录中指定某一时间段之前创建的文件及文件夹的脚本

程序员文章站 2024-02-24 10:37:22
...

标题有些绕口,但脚本很是丝滑:

#目标目录(配置好加入array数组)这里可以加入多个路径
dir1=/usr/local/backup/
array=($dir1)
#删除最小粒度控制(据当前时间节点多久之前的时间,单位秒)
minTime=604800
#echo $minTime
currentTime=$(date +%s)
#echo "当前时间:"$currentTime
for(( i=0;i<${#array[@]};i++))
do
  fileArr=`ls -l ${array[i]} | awk -F " " '{print $9}'`
  for j in $fileArr
  do
    createTime=`stat -c %Y "${array[i]}$j"`
 #   echo ${array[i]}$j"文件上次修改时间:"$createTime
    mTime=`expr $currentTime - $createTime `
  #  echo "时间差:"$mTime
    if [[ $mTime -gt $minTime ]];then
      echo "删除文件:"${array[i]}$j
      rm -rf ${array[i]}$j
    fi
  done
done

这个也是我看的别人的博客内容写的,不过里面有很多坑我踩了一遍,做了多处调整,现在基本上没有任务问题,非常通用的。

相关标签: Linux linux shell