GNU/Linux >> Linux の 問題 >  >> Linux

削除されたビジーボックスを備えたシステムで x 日より古いファイルを見つける

-mtime find の標準述語です (-delete とは対照的に ) しかし、あなたは busybox の簡素化されたバージョンを持っているようです 、ここで FEATURE_FIND_MTIME ビルド時に機能が無効になっています。

busybox を有効にして再構築できる場合は、次のことができるはずです:

find . -mtime +6 -type f -exec rm -f {} +

または FEATURE_FIND_DELETE の場合 も有効です:

find . -mtime +6 -type f -delete

そうでない場合、他のオプションは find -newer を使用することです (FEATURE_FIND_NEWER と仮定すると が有効になっている) 変更時刻が 1 週間前に設定されているファイル。

touch -d "@$(($(date +%s) - 7 * 86400))" ../ref &&
  find . ! -type f -newer ../ref -exec rm -f {} +

または -newer の場合 利用できませんが sh[ -nt をサポート :

touch -d "@$(($(date +%s) - 7 * 86400))" ../ref &&
  find . ! -type f -exec sh -c '
    for f do
      [ "$f" -nt ../ref ] || printf "%s\0" "$f"
    done' sh {} + |
    xargs -0 rm -f

man find から :

<ブロック引用>

-atimen

ファイルが最後にアクセスされたのは n*24 時間前です。 find が、ファイルが最後にアクセスされた 24 時間前の期間を計算すると、小数部分は無視されるため、-atime +1 に一致するには、ファイルが少なくとも 2 日前にアクセスされている必要があります。

-ctimen

ファイルのステータスが最後に変更されたのは n*24 時間前です。 -atime のコメントを参照して、丸めがファイル ステータス変更時間の解釈にどのように影響するかを理解してください。

削除したいファイルのユースケースに応じて、これらは find の唯一の他のオプションです .なぜ mtime なのか 利用不可?どのファイルシステムを使用していますか?他のオプションを検討しましたか?


Linux
  1. x日より古いファイルまたはフォルダーを見つけて削除する

  2. Linuxで特定の日付より古いファイルを削除するにはどうすればよいですか?

  3. サブディレクトリを含む x 日より古いファイルを削除する Bash スクリプト

  1. 1 分以上経過したすべてのファイルを検索

  2. 30 日以上経過したファイルを安全に削除する

  3. 特定の日付のファイルを検索して削除する

  1. LinuxでX日より古いすべてのファイルを削除するにはどうすればよいですか?

  2. Find -mtime +1が2日より古いファイルのみを返すのはなぜですか?

  3. ファイル名を日付として 30 日以上経過したファイルを削除する