5月 26
サーバ上に大量のキャッシュファイルが出来ていて、rm *にてファイルを消そうとしたら、
$ rm *
-bash: /bin/rm: Argument list too long
って、bashさんから怒られた。
この時、ディレクトリには、4000ほどファイルがあった。Cache_Liteのキャッシュファイルなので名前もかなり長い。
うーん。どうやって消せばいいんだろう…
Google先生にお伺いしたところ、
$ ls | xargs rm
でOKのようだ。これでは全てのファイルが削除される。
もし、”cache_xxxxxxx”というファイルだけを消したい場合は
$ ls cache_* | xargs rm
ではダメだ。結局、ワイルドカードに該当するファイルをshellが展開できないため、同じエラーになる。
そういう場合は、findコマンドを用いて、
find . -name “cache_*” -print | xargs rm
とやれば、shell上で展開できないワイルドカードを展開してかつ、次のコマンドに渡すことができる。
Popularity: 19% [?]





5月 27th, 2008 at 4:54 PM
ウノウ経由で
http://openlab.dino.co.jp/2008/02/20/133431188.html
を見て、同じことを最近やりますたw
キャッシュ作らせて利用することばかりで、いらないキャッシュを削除することを考えてなかったんで、キャッシュ利用周りは見直しますた。
有効期限が過ぎたら自動的に削除されて欲しいもんだ。
ちなみにSmartyにはclear_all_cache($time)ってメソッドがあって、$time経過しているキャッシュは削除してくれる。
5月 28th, 2008 at 10:51 AM
ネ、ネタがかぶっても気にしない!!!(汗
キャッシュってけっこう溜まりますよね~(あたりまえ!
PEARのCache_Liteには自動的に消す機構がないからな~
smartyのclear_all_cacheって、キャッシュ総なめにするのかな。なんかすっげ時間かかりそう・・・
キャッシュ周りのノウハウも一度まとめないといけませんな~
よっしゃ~がんがん作って書くぞ~