Operations grimoire/Logs: Difference between revisions
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
