問題
システム ログ /var/log/messages は自動的にトリミングまたは削除され、古いログは messages.1、messages.2 などにローテーションされません。
解決策
システム ログは、毎日スケジュールされている cron ジョブである logrotate によってローテーションされます。この問題は、logrotate の構成が正しくないことが原因です。以下の logrotate 構成ファイル /etc/logrotate.conf を確認しています:
# rotate log files weekly #weekly # keep 40 weeks worth of backlogs #rotate 40
ローテーション間隔/時間はすべてコメントアウトされています。この設定では、システム ログはローテーションせずにトリミングされます。
これを回避するには、/etc/logrotate.conf を変更します。 適切な回転間隔を指定します。たとえば、以下の構成:
weekly rotate 4
これにより、ログが毎週ローテーションされ、ログ ファイルは上書きされる前に 4 回ローテーションされます。 logrotate の詳細については、man ページを確認してください:
# man logrotate
/var/log/messages は空で、messages.0、messages.1 などのローテーションされたログ ファイルも空です。
cgroup を使用して CentOS/RHEL で一部のユーザー メモリ リソースを制限する方法