Course contentsShow
← Linux
Lesson 611 of 1,8196. Systemd Internals and Unit OrchestrationFree lesson

Managing Log Retention Policies

Control disk usage and log rotation settings for long-term audit compliance.

In this lesson, you will learn how to constrain the disk space occupied by systemd-journald to ensure your system remains performant while meeting long-term audit compliance.

The Problem of Infinite Logs

By default, the system journal grows until it consumes a significant portion of your storage. In production environments, this is dangerous; a runaway service logging thousands of messages per second could fill your root partition, causing the entire operating system to freeze. To prevent this, journald provides configuration hooks to enforce strict retention policies.

Configuring Retention in journald.conf

All logging policies are managed within /etc/systemd/journald.conf. You can control log lifespan and size using three primary directives:

  1. SystemMaxUse: Limits the total size the journal files may occupy on disk.
  2. MaxRetentionSec: Defines the maximum time a journal file can be kept before it is purged.
  3. SystemMaxFileSize: Limits the size of an individual journal file before it rotates.

To implement a policy, edit the configuration file and uncomment or add these lines:

[Journal]
# Ensure total journal size never exceeds 1GB
SystemMaxUse=1G
# Automatically delete logs older than 30 days
MaxRetentionSec=30day

Applying Changes

After saving your changes to journald.conf, you must restart the journal service for the settings to take effect. It is important to note that this does not require a reboot:

systemctl restart systemd-journald

Why Audit Compliance Matters

For audit compliance, simply limiting disk space isn't enough; you must ensure you aren't deleting critical history too early. If your company policy mandates 90 days of logs, setting MaxRetentionSec=90day ensures journald automatically prunes the oldest files, keeping your storage footprint predictable and your audit trail within regulatory bounds. If you reach your SystemMaxUse limit before the retention period ends, journald will prioritize deleting older files to make room for new ones, keeping your most recent data safe.

Key Takeaway: By defining SystemMaxUse and MaxRetentionSec in journald.conf, you prevent log-related disk exhaustion while automating the lifecycle management required for professional audit compliance.