Hai.Adachinです。

今回はサーバトラブルのお話。
たまにトラブルで一つのディレクトリに
大量のファイル(~万個)が出来てたりすることがありますが、
開くと死にます。回避できるのはlsコマンドのオプションでいけるのです。


■トラブル例

メールキュー、キャッシュファイルなど膨大に溜まってヤバイことになってる。
削除するにもCPU圧迫、中身もlsで確認できない状況。


■ファイルの確認

とりあえずどんなファイルが入っているのか確認したいため、
lsコマンドでいいじゃないか。

・man lsで確認してみよう

こんなのがあります。
ちなみにlsはファイルの一覧を取得しsortを行うため遅くなります。
sortを行わない-Uを使えばフリーズが起こらないのです!!


■ファイルの削除

いきなり$ rm -rfで削除してしまうと、サーバに負荷がかかるためロアベが上がり死にます。
なのでsleepを使って5秒眠らせてファイルを削除してます。

ディレクトリの削除はしないので、終わったら手動で対応します。
(2~3秒でも良さそう・・・)


■まとめ

$ ls -Uは凄かった。
大量ファイルができる前に、毎日夜に削除するスクリプトを使ってcronで回すのもイイデスネ!!!!
ちなみにどのファイルが多いのか調べるコマンドは以下。

参考:http://qiita.com/kitakitash/items/0a2350bf7e9b52da92fc

The following two tabs change content below.

あだちん

1989年生まれ。 Infra Engineer(SRE) In Shibuya 2013年新卒に自宅サーバを構築し、この技術ブログを立ち上げたが、 2017年に電源が壊れConoHaにリプレイスした。 好きな構成管理ツールはAnsible,Terraform。 インフラならAWS/Docker。言語はPython。 WEBサーバならH2O。そして「脆弱性スキャナVuls」のOSS活動もしており、VulsRepo init fileのコミッターでもある。VulsのためにGolangと格闘中でエバンジェリストに任命!?HIPHOPが好きすぎてTrack Makerでもある。

コメントを残す