从服务器中删除超过一个月的日常用户上载文件.用户上传到当天存储在目录中(例如/ var / www / media / 2013-03-13),因此很容易识别需要删除的文件/目录.
问题:一次删除100,000个文件会使服务器无响应并需要很长时间. (Ubuntu 12.04,软件RAID1中带有2x2TB ext4 SATA3硬盘).目前,PHP正在执行命令find / path / to / dir -maxdepth 1 -name’*’-delete.
如何拆分删除所需的文件?在这些大目录上执行ls将花费很长时间.
解决方案不必是PHP.它甚至不需要将文件拆分成更小的批次
最佳答案
>找到您要保留的日期目录
>查找所有日期的目录
>从2中删除1.
> rm -rf你从3获得的目录.
>查找所有日期的目录
>从2中删除1.
> rm -rf你从3获得的目录.
我不确定这是否比您的方法更快,但它避免显式列出目录中的所有文件.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。