7天后删除文件

时间:2015-06-12 06:41:57

标签: linux bash shell

我必须在7天后定期删除多个文件。并且每个文件的删除日期和位置都不同。是的,我可以单独为每个文件夹应用一个cronjob但是tat将涉及许多cronjobs(至少15)。 为了避免这种情况,我想创建一个脚本,它将转到每个文件夹并删除数据。 例如:

-rw-r--r--   1 csbackup other    20223605295 Jun 12 06:40 IO.tgz

正如您所见,IO.tgz创建于2015年6月12日6:40 ...现在我想在2015年6月17日00:00时删除此文件...这是我的一个原因m无法使用mtime,因为它会在7 * 24小时后完全删除。

我正在考虑比较文件的时间戳,但是我的机器上没有stat实用程序。它现在甚至允许我安装它。

任何人都可以通过我可以用n天后删除的脚本来指导我

1 个答案:

答案 0 :(得分:0)

您可以列出要在文件中搜索的目录。

# cat file
/data
/d01
/u01/files/

现在您可以使用for循环逐个删除这些目录中的文件。

for dir in $(cat file); do 
    find $dir -type f -mtime 7 |xargs rm -f
done