shell 删除指定目录下过时的文件或目录
2014-05-23 18:08
489 查看
exec 1> rmfota.log 2>&1 #把输出log信息存到文件中
workdir="xx/xx" #指定目录
num=12 #删除12天前的文件
nowDate=`date +"%Y-%m-%d %H:%M"`
start=`date -d "$nowDate" +%s`
echo "$nowDate $start"
for fotaDate in `ls -Al $workdir | awk '{print $6","$7","$8}'`
do
date=`echo $fotaDate | cut -d ',' -f 1`
time=`echo $fotaDate | cut -d ',' -f 2`
zipfile=`echo $fotaDate | cut -d ',' -f 3`
lastDate="$date $time"
end=`date -d "$lastDate" +%s`
echo "$lastDate $end $zipfile"
if [ -f "$workdir/$zipfile" ];then
diffday=`expr $(($start-$end)) / $((60*60*24))`
echo $diffday
if [ $diffday -gt $num ];then
echo "remove $workdir/$zipfile"
rm -f $workdir/$zipfile
fi
fi
done
workdir="xx/xx" #指定目录
num=12 #删除12天前的文件
nowDate=`date +"%Y-%m-%d %H:%M"`
start=`date -d "$nowDate" +%s`
echo "$nowDate $start"
for fotaDate in `ls -Al $workdir | awk '{print $6","$7","$8}'`
do
date=`echo $fotaDate | cut -d ',' -f 1`
time=`echo $fotaDate | cut -d ',' -f 2`
zipfile=`echo $fotaDate | cut -d ',' -f 3`
lastDate="$date $time"
end=`date -d "$lastDate" +%s`
echo "$lastDate $end $zipfile"
if [ -f "$workdir/$zipfile" ];then
diffday=`expr $(($start-$end)) / $((60*60*24))`
echo $diffday
if [ $diffday -gt $num ];then
echo "remove $workdir/$zipfile"
rm -f $workdir/$zipfile
fi
fi
done
相关文章推荐
- shell 删除目录及子目录指定类型的文件
- Linux监控系统磁盘使用比例,当使用率达到指定比例,删除指定目录下的所有文件的shell脚本
- shell脚本删除目录下的指定文件
- shell 定时删除某个目录指定格式文件(递归)
- shell脚本删除目录下的指定文件
- shell脚本,对指定目录下C文件,替换和删除字符串
- shell脚本删除指定目录下超过指定时间的文件
- shell删除当前目录及递归目录下文件指定字符串
- shell练习1:删除目录下指定文件中的指定行
- 根据字段状态删除指定目录文件的shell脚本
- shell-删除目录下指定日期前的所有文件
- shell删除当前目录及递归目录下文件指定字符串
- 建立指定目录下文件的索引并删除
- 启动shell的调试模式 set -x ,find 当前目录下的指定类型文件
- windows机器中删除指定日期文件和目录的bat
- 删除指定时间前目录下生成的所有文件、文件夹
- 删除指定目录下指定文件
- NO.49 删除某目录下所有指定名称的文件(比如批量删除vssver.scc)
- shell执行目录下文件,找出指定错误
- shell从目录下指定的文件类型里匹配关键字