Pandora Pocket

IT系と日常系の備忘録。三日坊主。

findコマンドがいい感じ

VPSで運営している2ちゃんねるビューアのがっくしメニュー。

モリタポもたまるのでVPS代を稼ぐために稼働させているのだけど、設定次第ではDATファイルがたまるたまる・・・。

一応wikiに対応法も書いてあったけど、いまいちぴんとこなかったのでほかの方法を探していたところfindコマンドを利用した削除の仕方を知った。

findコマンドそのものは知っていたけどこんな使い方もあったのか・・・。

この方法はこのサイトから知った。

私の環境ではこういう風に変更して利用することにした。

find /home/orz/public_html/cache -type f -mtime +1 -exec rm -f {} +
find /home/orz/public_html/cache -type d -empty -exec rmdir {} +

これをCronで自動実行するようにしておけばいい。もちろんファイルのアクセス権を持つユーザーの権限で動かさないと消せないので注意。

以下findコマンドについての備忘録。

findコマンドは条件を指定してファイルやディレクトリを検索するコマンド。

find [directory]コマンドオプション

という形で利用する。

以下このサイトから引用。

検索の条件-基本

機能

-name [file name]

指定した文字列のファイル・ディレクトリを検索

-user [user name]

指定したユーザーが所有するファイル・ディレクトリを検索

-group [group name]

指定したグループが所有するファイル・ディレクトリを検索

-type [filetype]

ファイルの種類を指定して検索

b:ブロック型特殊ファイル c:キャラクタ型特殊ファイル d:ディレクトリ l:シンボリックリンク f:通常ファイル

検索の条件-日時

機能

-atime (+/-)n

最後にアクセスしたのがn日前のファイル・ディレクトリを検索(+n:n日以上、-n:n日以下)

-ctime (+/-)n

最後にステータスが修正されたのがn日前のファイル・ディレクトリを検索(+n:n日以上、-n:n日以下)

-mtime (+/-)n

最後にデータが修正されたのがn日前のファイル・ディレクトリを検索(+n:n日以上、-n:n日以下)

-mmin (+/-)n

最後にデータが修正されたのがn分前のファイル・ディレクトリを検索(+n:n分以上、-n:n分以下)

-newer [file name]

指定したファイルよりも後に更新されているファイル・ディレクトリを検索

検索の条件-サイズ

機能

-size n[c/k/b]

nのサイズのファイルを検索(c:バイト、k:キロバイト、b:ブロック-1ブロック=512バイト)

検索結果の処理

機能

-ls

詳細を一覧表示する

-print

検索結果の標準出力

-fprint [file name]

検索結果を指定したファイルに書き出す

-exec [command] {} ;

検索結果をコマンドに引き渡して実行

exec引数を使えば色々できるね。