LINEで送る
Pocket

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

LINEで送る
Pocket


あだちん

1989年生まれ。 ランサーズ/SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、他社インフラレスポンス改善、ランサーズでの副業、ansibleでのインフラコード化を推進し、未経験によるエンジニアのMENTAなども実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/広報/VulsRepo init file,chatwork通知のコントリビュータでもある。現在はDocker開発環境の提供,AWSで新サービスのインフラ構築,PHPバージョンアップ,分析基盤を担当しておりDigdag,embulk,BigQueryを使いこなし中。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください