優れたソフトウェアと実用的なチュートリアル
夜中に突然ウェブサイトが開かなくなってしまいました。Nginxが502エラーを表示していました。サーバーを再起動するとウェブサイトは復旧しました。そこで、各種監視記録を確認したところ、サーバーのディスク容量がいっぱいになっていることが判明しました。ジャンクログファイルさらに、Nginxのログも数十GBの容量を消費します。まずはシステムのジャンクログファイルをクリーンアップしましょう!
CentOS システムのジャンクログファイル
CentOSシステムには、従来のrsyslogとsystemd-journalという2つのログサービスがあります。
systemd-journald は、カーネルからのログ、システム起動の初期段階、起動および操作中のシステムデーモンの標準出力とエラー情報、および syslog ログを収集できる、改良されたログ管理サービスです。
ログサービスは、単一構造のログファイル /run/log にのみログを保存します。ログは圧縮され、バイナリデータとしてフォーマットされているため、すぐに表示および検索できます。
デフォルトでは、ログは永続的に保存されず、1か月分のログのみが保持されます。さらに、rsyslog が収集できないログもジャーナルに記録されます。
従来のシステム ログ サービスと同様に、rsyslog は収集されたすべてのログを /var/log/ ディレクトリの下のさまざまなログ ファイルに記録します。
ジャーナルはシステム上で約3GBのディスク容量を占有します。ディスク容量が十分にあり、関連ログを確認する必要がある場合は、ジャーナルを削除しないことも可能です。VPSなどのハードディスク容量の小さいホストの場合は、不要なログファイルを削除することをお勧めします。
/var/log/journalファイルをクリアする方法
echoコマンドを使用して、空の文字列の内容を指定されたファイルにリダイレクトします。
echo "" > system.journal
注:この方法では一度しかクリアされません。一定期間後に手動で再度クリアするのは面倒です。以下のコマンドを実行すると、journalctlが自動的にスペースを管理します。
journalctlコマンドはファイルサイズを自動的に維持します
1. 過去1週間のログのみ保存する
journalctl --vacuum-time=1w
2. 500MBのログのみ保存する
journalctl --vacuum-size=500M
3. /var/log/journal/ディレクトリ内のログファイルを直接削除します。
rm -rf /var/log/journal/log ディレクトリ名
ジャーナルはシステム上で約3GBのディスク容量を占有します。ディスク容量が十分にあり、関連ログを確認する必要がある場合は、ジャーナルを削除しないことも可能です。VPSなどのハードディスク容量の小さいホストの場合は、不要なログファイルを削除することをお勧めします。