データベースが1日に生成するアーカイブログの数を確認したいので、次のようにしました。
find /u02/archivelog -mmin -1440 | du -sh
220GBを得ました。これはそのディレクトリ内のすべてのファイルの合計サイズであり、1日も経っていないため、フルサイズではありません。
これは機能し、find /u02/archivelog -mmin -1440 -exec ls -ltrh {} \;
1日未満のファイルのみを一覧表示します。しかし、このロジックは適用されないようですdu
。
期待される結果を得るには、構文をどのように改善する必要がありますか?
ベストアンサー1
duはパイプで接続されたファイルを許可しないようです。私の考えであなたが探しているのは
find /u02/archivelog -type f -mmin -1440 -exec du -ch {} +
+
代わりに、 find がリストとして;
作成され、各一致に対して 1 回ではなく 1 回実行されます。{}
また、使用する必要があります-type f
。それ以外の場合は、新しいファイルが追加されるたびに変更されるディレクトリ自体と一致します。 duにディレクトリ自体を含めると、すべてのファイルのサイズが再取得されます。-c
duに「master」行も表示するようにしてください。合計だけが必要な場合は、| tail -1
最後に追加できます。