Operations grimoire/Logs: Difference between revisions

From Nasqueron Agora
No edit summary
Line 27: Line 27:
== Log rotation ==
== Log rotation ==
=== Logrotate (Linux) ===
=== Logrotate (Linux) ===
To create a logrotate configuration under Linux, you simply need to create (or modify) a file in the directory /etc/logrotate.d/. Each file in this folder contains one or more sections, each describing the rotation rules for one or more log files.​
/var/log/nginx/*.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
    create 640 root adm
    postrotate
        systemctl reload nginx > /dev/null
    endscript
}
For more details, see: https://linux.die.net/man/8/logrotate

Revision as of 12:41, 22 November 2025

Logs are generally located in /var/log directory, but can also be in specialized systems (e.g. Docker)

How to create a logrotate configuration (Linux) Logrotate is a utility in Linux that manages log file rotation, archiving, and deletion automatically to prevent logs from consuming all disk space. The configuration is usually placed in /etc/logrotate.conf for global settings and in /etc/logrotate.d/ for application-specific log policies.​

To configure logrotate for a specific service, create a file in /etc/logrotate.d/, for example /etc/logrotate.d/nginx, and add a block describing how the log files should be rotated:

/var/log/nginx/*.log {

   daily
   rotate 7
   compress
   missingok
   notifempty
   create 640 root adm
   postrotate
       systemctl reload nginx > /dev/null
   endscript

}

How the rotation works: When logrotate runs (automatically via cron or manually), it checks each log file per the configuration, archives old logs, creates new ones, and triggers the specified post-rotation actions.

For reference, see the full documentation:

https://wiki.archlinux.org/title/Logrotate

Log rotation

Logrotate (Linux)

To create a logrotate configuration under Linux, you simply need to create (or modify) a file in the directory /etc/logrotate.d/. Each file in this folder contains one or more sections, each describing the rotation rules for one or more log files.​

/var/log/nginx/*.log {

   daily
   rotate 7
   compress
   missingok
   notifempty
   create 640 root adm
   postrotate
       systemctl reload nginx > /dev/null
   endscript

} For more details, see: https://linux.die.net/man/8/logrotate