我的需求是 判断指定目录下的文件或者文件夹最后修改时间是否大于三天(和系统时间相比),
如果大于三天将其文件或者文件夹删除包括文件夹里所有子项。
我对shell不是很熟,朋友们是否帮忙一下,提供一个脚本。谢谢……
代码:
root@linux:/study/shell# cat remove.sh
#!/bin/sh
path=$1
days=$2
echo path=$path
echo days=$days
echo "files in path:$path created over $days days:"
find $path -ctime +$days
echo "remove the files:"
find $path -ctime +$days |xargs rm -rf
执行:
root@linux:/study/shell# ./remove.sh ./ 3
后面第一个参数指定路径,第二个参数指定超过的天数
比如路径为当前路径则“./”天数3天则第二个参数为3
1.删除超过7天的文件
find /tmp -ctime +7 -type f | xargs rm -rf
假如我要删除 /data/file/目录下的文件或者子目录,执行脚本时连通把file目录页删除了