多数のキャッシュファイルが迅速に生成されるディレクトリがあります。このファイルは小さすぎるため、すべてのinodeを非常に迅速に消費します。
現在、私は12時間より古いすべてのファイルを見つけて削除するために次のコマンドを実行しています。
$ find ./cache -mtime +0.5 -exec rm {} \;
ただし、このコマンドはファイル生成よりも削除が遅くなります。大量のファイルをすばやく削除する他の方法を教えてくれる人はいますか?
ベストアンサー1
find … -exec rm {} \;
rm
各ファイルに対してコマンドを実行します。新しいプロセスを開始するのは非常に高速ですが、単にファイルを削除するよりもはるかに遅いです。
find … -exec rm {} +
一括呼び出しされるので、はるかに高速です。バッチごとに一度実行するのにかかる費用をrm
支払い、バッチ削除を複数回実行します。rm
より速いのはrm
まったく電話しないことです。 Linuxのコマンドには、find
一致するファイルを削除する操作があります。-delete
find ./cache -type f -mtime +0.5 -delete
ただし、追いつかない速度でファイルを生成すると、find … -exec rm {} \;
設定に問題がある可能性があります。数百万のファイルが含まれている場合は、cache
より高速なアクセスのためにサブディレクトリに分割する必要があります。