500日を過ぎたファイルを削除

500日を過ぎたファイルを削除

私のディレクトリには2010年のファイルが含まれています。 500日を過ぎたすべてのファイルを削除したいと思います。以下を試しました。

find /var/log/arc/* -type f -mtime +500 -delete {}\;      

しかし、私はそれを理解します:

-bash: /usr/bin/find: Argument list too long

私が知っている限り、これはファイルが多すぎてfind処理する方法がないことを意味します。しかし、+20003年以上の時間を投資した後もまだこれを得ます。

私がここで何を見逃しているのでしょうか?

ベストアンサー1

findファイルリストが入力として必要でない場合がありません。問題は、globがあまりにも/var/log/arc/*多くのファイルに拡張されることです。しかし、findサブディレクトリへの繰り返しは基本的に行われ、globをまったく使用する必要はありません。

find /var/log/arc/ -type f -mtime +500 -delete

-delete非標準述語です。実装がそれをサポートしていない場合は、find次のものを使用できます。

find /var/log/arc/ -type f -mtime +500 -exec rm -f {} +

代わりに。

おすすめ記事