首页 > 解决方案 > 删除大型磁盘资源上的旧文件

问题描述

我需要您就如何有效清理驱动器资源提出建议。

这是一个基于 PHP 语言的应用程序。该应用程序在各种环境中运行,但始终在一个驱动器上运行,该驱动器可以拥有不同的容量。平均驱动器大小为 2 TB。

在 90% 的情况下,文件由 PHP 应用程序处理。其余 10% 的案例与外部活动有关,例如 - 通过 FTP 放置文件。

我需要准备一个 crontab 程序,该程序将每天检查一次所有文件并删除那些早于指定时间的文件。这个时间必须由用户定义,例如超过一年的文件应该被删除。

目录结构如下:

user
    Order type 1
        Order number
            files to check
        Order number
            files to check
        ...
    Order type 2
        Order number
            files to check
        ...
    Order type 3
        Order number 
            files to check
        ...
    Order type 4
        Order number
            files to check
        ...
    Order type 5
        Order number
            files to check
        ...
...

可以假设,系统中平均有 5k 个用户。如上所述,他们每个人都下了许多不同类型的订单。文件不大。平均而言,它们有 10 MB。

我目前正在使用 PHP 分析这个主题,但它的运行速度非常慢。事实上,这对用户来说是不可用的:(

您知道如何优化此类任务吗?您如何处理如此大量的处理数据?

编辑:用户可以手动调用文件删除操作。在删除它们之前,他应该看到将被覆盖的文件列表。所以这个操作有两个触发器:crontab和user

标签: phplinux

解决方案


推荐阅读