-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
なのか 利用不可?どのファイルシステムを使用していますか?他のオプションを検討しましたか?
Systemd の StartLimitIntervalSec と StartLimitBurst が機能しない
ls -l /proc/[PID]/fd の出力の anon_inode は何ですか?