2016-08-24 11 views
1

過去24時間に最大10個のファイルを検索するには、膨大な量のデータ(28TB)をどのように検索できますか?最近24時間以内に変更された大きなファイルを見つけるためのBashスクリプト

以下、現在の回答から、私が試してみた:

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

このコマンドは、最近、過去24時間で変更の検索の目的に反している24時間以上かかります。検索時間を大幅に短縮する可能性がある上記の方法より高速であることが判明しているソリューションはありますか?システムを監視するソリューションも機能しません。単純に監視しすぎるとパフォーマンスの問題を引き起こす可能性があるからです。

+0

サイズと年齢の基準でfindコマンドを使用します。 –

+0

テラバイトのデータを扱うときにこれを行うより効率的な方法がありますか? –

+0

質問はまだ広すぎますか? @TobySpeight –

答えて

2

このようなものはありますか?

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

変更されたファイルのうち、過去の24時間のサイズによるもの。このような

+0

私はこれに同意しますが、データのテラバイト単位の効率とスケーリングの点では最高です。 –

+1

findはCでコンパイルされたコマンドです。linuxを使用している場合それは非常に速いです。サイズは重要ではありません(ファイルは開かれません)。重要なファイルの数です。 –

+0

@MikeSallese:あなたはそれが効率的ではないと思いますか? – nickgrim

0

あなたはまだ標準を使用することができる非常に強力なfindコマンド

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

-mtime -1start_directoryは、ファイルをスキャンするためのディレクトリです)オプション:サイズのファイル:ファイルは、1日前に以下 -size +3000Gオプション変更少なくとも3 Gb

関連する問題