Filesystems 在linux中从文件夹中删除大量文件

Filesystems 在linux中从文件夹中删除大量文件,filesystems,solaris,Filesystems,Solaris,我正在一个linux生产环境中工作,在这个环境中,文件夹中大约有2000万个标记文件,并且这些文件正以每天大约10000个的速度增长。 我需要对此文件夹执行清理,并删除所有超过5天的文件。 我无法删除整个文件夹,因为它是一个活动的生产环境,并且也装载在其他服务器上。 我尝试使用下面的find命令 find/dirpath-name“*.fileExtension”-mtime 5 | xargs rm{} 我也试过了 find/dirpath-name“*.fileExtension”-mtim

我正在一个linux生产环境中工作,在这个环境中,文件夹中大约有2000万个标记文件,并且这些文件正以每天大约10000个的速度增长。 我需要对此文件夹执行清理,并删除所有超过5天的文件。 我无法删除整个文件夹,因为它是一个活动的生产环境,并且也装载在其他服务器上。 我尝试使用下面的find命令

find/dirpath-name“*.fileExtension”-mtime 5 | xargs rm{}

我也试过了

find/dirpath-name“*.fileExtension”-mtime 5 | exec rm{}

但是这些命令删除文件的速度非常慢。
是否有更快的方法执行此活动。

您多久执行一次此操作?每天一次,或按计划执行?我需要清理大量积压的文件,一旦清理完毕,我将每天运行一次。为什么不将其自动化,并按cron计划每天多次运行?我确实打算按cron计划执行,但由于这是一个生产环境,我只能在特定时间运行它。我现在面临的更大的问题是如何处理积压工作,因为即使我整天都在运行脚本,find命令也很慢,因为该文件夹中有来自其他服务器的连续活动,并且创建新文件的速度非常快。我需要找到一种方法来处理积压文件,然后我可以安排一天一天的处理。听起来你有两个问题。(嗯,三个,真的。把2000万个文件放在一个目录中是一件可怕的事情。)首先,在读取过程中存在锁争用,其次,在删除过程中存在锁争用。你不能消除后者,但你可以对前者做些什么。