繁体   English   中英

简单的PHP删除所有文件除了最后3天 -

[英]Simple PHP Delete All Files Except the 3 last days -

有一个FTP用户和一个DIR:/ home / user / public_html / backups /

每天03:00,一个包含日期的文件夹,在该文件夹中,将通过FTP自动添加3,5GB的文件。 现在,是否会有3,5GB每天在地图上的备份 ,这将是49GB 14天增加。

大约14天我将拥有这个文件夹结构:

2015-12-18
2015-12-17
2015-12-16
2015-12-15
2015-12-14
2015-12-13
2015-12-13
2015-12-12
2015-12-11
2015-12-10
2015-12-09
2015-12-08

所以我想为此制作一个cronjob脚本,00:00u a .php的每个星期日晚上都会用cronjob自动执行。

示例: 2015-12-18将执行.php脚本,除最后添加的3个文件夹外,将删除所有文件夹: 2015-12-18 - 2015-12-17 - 2015-12-16

.php脚本将删除所有文件EXPECT地图备份中最后3个添加的文件夹/文件

这个位于.PHP吗? 是的,是否有人为我提供了示例脚本? 或者可以通过更好的解决方案来完成?

就这个。 使用glob填充所有目录的数组,切片数组以删除最后3个项目,然后删除其他项目。

$files = glob('/tmp/*', GLOB_ONLYDIR);

$deletions = array_slice($files, 0, count($files) - 3);

foreach($deletions as $to_delete) {
    array_map('unlink', glob("$to_delete/*.*"));
    $deleted = rmdir($to_delete);
}

nix *,不需要php,你可以将其作为cronjob运行

find /path/to/files* -mtime +3 -exec rm {} \;

我不是很熟悉PHP没有太多玩的时间,但我会做这样的事情:

如果今天是星期天将今天的日期设置为数据库作为上次删除的日期,然后制作一些简单的代码,检查过了多少天或几秒或什么,如果通过7天将删除数据库中的所有内容除外最后一天尝试添加了一些我认为简单的项目

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM