Bash 用于查找过去 24 小时内最近修改的大文件的脚本

Bash Script to find large files recently modified in the past 24 hours

如何在海量数据(28TB)中搜索出过去24小时内最大的10个文件?

根据我试过的以下当前答案:

$ find . -type f -mtime -1 -printf "%p %s\n" | sort -k2nr | head -5

此命令耗时超过 24 小时,这违背了搜索过去 24 小时内最近修改的目的。是否有已知的解决方案比上述解决方案更快,可以大大缩短搜索时间?监控系统的解决方案也不会起作用,因为要监控的东西太多了,这样做可能会导致性能问题。

是这样的吗?

$ find . -type f -mtime -1 -printf "%p %s\n" | sort -k2nr | head -5

过去 24 小时内按大小排列的前 5 个修改文件。

您可以像这样使用标准但非常强大的 find 命令(start_directory 是扫描文件的目录)

find start_directory -type f -mtime -1 -size +3000G

-mtime -1 选项:文件在 1 天前或更短时间内修改 -size +3000G 选项:文件大小至少为 3 Gb