この find コマンドを最適化しようとしています。さらなる処理のために、1つの束(時にはほぼ100万)のファイルをディレクトリに移動する必要があります。多数のファイルを実行するのに数時間かかることがあるので、このコマンドを高速化する方法を探しています。問題は、まだ記録されているファイルを移動したくないため、移動する前にファイルを少なくとも1分間保持する必要があることです。
find path -name *.cdr.xml -mmin +1 -exec mv {} /path
編集する:このコマンドはPythonスクリプトの一部として実行され、Pythonスクリプトの実行を続行するには、すべてのファイルを見つけて移動するのを待つ必要があります。
すべてのファイル名はUUIDです。
ベストアンサー1
フォークが一度だけ発生するエンディングを使用すると、パフォーマンスが向上する可能性があります+
。-exec
find
-exec
;
そして の場合、-exec
毎回新しいパラメータをフォークします。
したがって、次のものを使用できます。
find path -type f -name '*.cdr.xml' -mmin +1 -exec mv -t /path {} +
ファイル名が重複する可能性がある場合:
find path -type f -name '*.cdr.xml' -mmin +1 -exec mv -it /path {} +
または
find path -type f -name '*.cdr.xml' -mmin +1 -exec mv --backup=numbered -t /path {} +
--backup=numbered
mv
ターゲットのファイル名が同じ場合、上書きされない番号付きファイルバックアップが作成されます。