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

Pocket


adachin

1989年生まれのSRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWS/Azureでのインフラ構築、Docker開発環境の提供、Kubernetes保守、インフラコード化、新技術の検証、リファクタリング、セキュリティ強化などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTAで未経験者にインフラのコーチング/コミュニティの運用を実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。

0件のコメント

コメントを残す

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