[Linux] 日時指定して古いファイルを削除するコマンド

Tadashi Shigeoka ·  Thu, November 14, 2019

Linux にて、日時指定して古いファイルを削除する command をご紹介します。

Linux

背景 Linux で使ってないファイルを一括削除したい

背景は、[Linux] disk 消費量の多いディレクトリを確認するコマンド と同じです。

disk full 対応で容量を多く利用しているディレクトリを特定後に、ファイルを一括削除するために Linux コマンドを調べました。

Linux で最終更新日時、最終アクセス日時を指定してファイル一括削除

最終更新日時が30日以上経過したファイルを一括削除

find ./ -mtime +30 | xargs rm -f

# -mtime    ファイルのデータの最終更新日時(分指定)

find コマンドの日時指定オプションと概要

  • -mmin ファイルのデータの最終更新日時(分指定)
  • -mtime ファイルのデータの最終更新日時(日指定)
  • -amin ファイルへの最終アクセス日時(分指定)
  • -atime ファイルへの最終アクセス日時(日指定)
  • -cmin ファイルのデータとステータスの最終更新日時(分指定)
  • -ctime ファイルのデータとステータスの最終更新日時(日指定)

ファイル拡張子を指定して一括削除

上記のコマンドにファイル拡張子を指定するオプションを追加して、一括削除する Linux コマンドは以下のとおりです。

find ./ -mtime +30 -name "*.jpg" | xargs rm -f

最終アクセス日時が30日以上経過したファイルを一括削除

find ./ -atime +30 | xargs rm -f

# -atime  ファイルへの最終アクセス日時(日指定)

以上、Linux で find + xargs + rm を組み合わせてファイルを一括削除したい、現場からお送りしました。

参考情報