3

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

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

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

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

非常感谢各位专家!

4

3 回答 3

2

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

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

还应该与 FreeBSD 或许多其他版本的find.

于 2010-12-02T06:40:10.710 回答
0

替代解决方案是: -

点 cron 作业每天执行一次 php 文件。

 $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);

  }

谢谢。

于 2010-12-02T07:09:03.890 回答
0

类似于 Jeffreys 的回答,我建议这样:

for i in `find /home/username/public_html/temp -type f -mmin +5`
    do rm $i
done
于 2010-12-03T16:15:53.637 回答