Cron作业删除在特定时间之前创建的文件

时间:2010-12-02 06:32:05

标签: php linux cron cpanel

我有这个cron作业来清空我每天一次的临时文件夹:

rm -rf /home/username/public_html/temp/*

我希望这个cron作业删除所有在它运行5分钟之前创建的文件,以确保我的脚本不再需要这些文件。

假设我将cron作业设置为每天上午10:00运行..我希望它删除在09:55 AM之前创建的此文件夹中的所有文件

非常感谢专家!

3 个答案:

答案 0 :(得分:2)

如果您使用的是GNU find,请尝试以下操作:

find /home/username/public_html/temp -type f -mmin +5 -delete

也适用于FreeBSD或许多其他版本的find

答案 1 :(得分:0)

替代解决方案是: -

指向每天执行一次php文件的cron作业。

 $dir = 'your/directory/';
  foreach(glob($dir.'*.*') as $v){
  $last_modified = filemtime($v);//get the last modified time of file
  $fmtime=date("h:i:s", $last_modified);
  $currentTime=date("h:i:s");

  if (//check here if your file is created before 09:55Am)
  unlink($v);

  }

感谢。

答案 2 :(得分:0)

与Jeffreys的答案类似,我建议这样的事情:

for i in `find /home/username/public_html/temp -type f -mmin +5`
    do rm $i
done