我有这个 cron 作业来清空我每天一次的临时文件夹:
rm -rf /home/username/public_html/temp/*
我希望这个 cron 作业删除在它运行 5 分钟及以上之前创建的所有文件,以确保我的脚本不再需要这些文件。
假设我将 cron 作业设置为每天上午 10:00 运行.. 我希望它删除该文件夹中在上午 09:55 之前创建的所有文件
非常感谢各位专家!
如果您使用的是 GNU find
,请尝试以下操作:
find /home/username/public_html/temp -type f -mmin +5 -delete
还应该与 FreeBSD 或许多其他版本的find
.
替代解决方案是: -
点 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);
}
谢谢。
类似于 Jeffreys 的回答,我建议这样:
for i in `find /home/username/public_html/temp -type f -mmin +5`
do rm $i
done