2010-12-02 191 views
3

我有这样的cron作业以清空临时文件夹之前创建的文件我每天一次:cron作业删除特定时间

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

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

比方说,我设定的cron作业日上午10:00每天跑..我想它删除此文件夹,其09:55之前创建的所有文件中的AM

谢谢你这么多的专家!

回答

2

如果您使用GNU find,试试这个:

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

也应该从FreeBSD或find许多其他版本。

+0

我使用的cPanel。 – Dido 2010-12-04 05:13:36

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

    } 

谢谢。

+1

Glob`*。*`??我认为你的DOS正在显示。这只会匹配名称中带有点的文件。 – 2010-12-02 07:14:40

0

到杰弗里斯答案类似,我建议是这样的:

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