【Linux】「Find」コマンドを使って一定期間経過したフォルダ・データを削除する

目次

ディレクトリとデータの削除

基本コマンド

ディレクトリとデータをまとめて削除するには以下のコマンドを使います。

# 古いフォルダ・データのチェックと削除(2日以前のものは削除)
find フォルダ名 -type d -ctime +2 | xargs rm -fr

実用例

例えば、ユーザディレクトリ直下の「works」内「testdir」内にあるフォルダとファイルを全て対象として、
ステータスの最終変更から「2日」以上経っているものを削除したい場合には以下の通りに書きます。

# 古いフォルダ・データのチェックと削除(2日以前のものは削除)
find /home/username/works/testdir -type d -ctime +2 | xargs rm -fr

オプションなど

-mtimeの部分を変更することで期間の起算日を変更可能。使用できるオプションは以下のとおりです。

オプション説明
-mmin最終変更日時から(分)
-mtime最終変更日時から(日)
-amin最終アクセス日時から(分)
-atime最終アクセス日時から(日)
-cminデータとステータスの最終変更日時から(分)
-ctimeデータとステータスの最終変更日時から(日)

また数字の前の+の部分には-を指定あり・指定なしどちらでも対応が可能です。

オプション説明
+過去から指定した数字までに
現在から指定した数字までに
指定なし指定した数字前に
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次