ある一定以前のフォルダを削除するシェル


Linuxのbashにおいて、以下コマンドで一定以上前のフォルダを削除したり、移動したりできます。

##############################
# Delete old data.
##############################
### aaa フォルダ配下の30日以上前のディレクトリを backup フォルダへ移動
find ./aaa -type d -mtime +30 | xargs mv --target-directory=./backup

### 30日以上前のディレクトリを強制削除
find . -type d -mtime +30 | xargs rm -fr

これをcrontab -eにてスケジュール登録することで、ディスク容量を圧迫する恐れもなくなります。
2通り紹介しましたが、『強制削除』の方はお勧めしません。
一度、バックアップをフォルダ移動させ、そこから一定期間メンテナンス時に手動削除の方がよいでしょう。


投稿者: cova

ザムウ取締役CTO。2010年に香川県三豊市へ移住。フリーランスSEとして活動をはじめる。とある機構にて中小企業の経営支援と、小学校にてICT講習も務める。2022年現在、子育て支援NPO理事、短大専任講師を兼任する。 【主な資格】経営学修士(MBA)修了、国家試験応用情報技術者、国内初の夫婦ITコーディネーター。 その他、2022年4月:2児(4歳・1歳)の父。 #赤ちゃんから学ぶ経営学 を配信。

「ある一定以前のフォルダを削除するシェル」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です