サーバーが午前3時に落ちる理由

df で全パーティションを見渡し、du で溢れている犯人を突き止める
df で全パーティションを見渡し、du で溢れている犯人を突き止める

午前3時。スマホが鳴る。「ディスク使用率99%」。サーバーにログインすると、数百のディレクトリ、数千のファイル。何かが容量を食い尽くしている。だが、一体何が?

ここで活躍するのが、df と du だ。まず df -h で全体像を掴むと、/var パーティションが99%。次に du -sh /var/log/* で犯人を追い詰めると、誰もローテーションしていなかった10GBのアクセスログが見つかる。肥大化したログの中身を空にし(書き込み中のファイルを消しても、プロセスが閉じるまで容量は空かない)、logrotate を設定すれば再発防止も完了。闇雲に探せば何時間もかかるところが、たった2つのコマンドと30秒で終わる。

地味なコマンドほど、本番障害のときに最初に手が伸びる武器になる。