linuxでdiskfullになってアヘー((+_+))ってなる前に、一定期間以前のファイルを削除するようにコマンドを作ろうと考えた。
ファイルを見つけるのはfind
findコマンドを使えばほぼ完了するっぽいので、さっそく着手。
とりあえず/home/hoge/work/配下の拡張子txtのファイルを見つけるのは
find /home/hoge/work/ -name \*.txt
なので、これを応用して
- /home/hoge/work/ 配下のファイル
- txtとlogのファイル
- 1年以上前のファイル
を削除する場合は
find /home/hoge/work/ \( -name \*.txt -or -name \*.log \) -mtime +365 -delete
となる。
-name と -or で複数の拡張子が指定可能
-mtime でどのぐらい前のファイルを削除対象とするのか、日数を入力
-deleteで見つけたやつ消すぜ!
という意味。
最後に動かす方法を決めれば終了
あとはこれをどこで動かすかを決めるだけ。もちろんchmodで実行権は付与するんやで。
りょーへー
自動の場合はcronにいれるとええな。
リンク