2016-08-24 75 views
1

如何通過大量數據(28TB)搜索過去24小時內最大的10個文件?Bash腳本查找過去24小時內最近修改的大文件

從目前的答案,下面我試着:

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

這個命令需要超過24小時這違背了搜索最近一次是在過去24小時內修改的目的。有沒有解決方案比上述方法更快,可以大大縮短搜索時間?監控系統的解決方案也不可行,因爲監控太多可能會導致性能問題。

+0

使用大小和年齡標準的find命令 –

+0

在使用TB級數據處理時,是否有更高效的方法來執行此操作? –

+0

問題仍然過寬? @TobySpeight –

回答

2

這樣的事情?

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

前5個按過去24小時大小修改的文件。這樣

+0

我同意這個作品,但我不知道它是效率和通過兆兆字節的數據擴展的最佳 –

+1

find是一個編譯的命令,在C中。如果您使用Linux這非常快。大小無關緊要(文件未打開),這是重要的文件數量。 –

+0

@MikeSallese:是什麼讓你覺得效率不高? – nickgrim

0

您可以使用標準的但非常強大find命令(start_directory是目錄,掃描文件)

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

-mtime -1選項:文件修改前1天或更少 -size +3000G選項:大小的文件至少3 Gb

相關問題