Introduction

Welcome to this tutorial on how to set up automated log rotation with logrotate on Linux. Log files are an essential part of any system, they help you understand what’s happening under the hood. However, they can grow in size and become difficult to manage. That’s where logrotate comes in handy. Let’s dive in!

What is logrotate?

Logrotate is a utility designed for administrators who manage servers producing a high volume of log files. It allows automatic rotation, compression, removal, and mailing of log files. Logrotate can be set to handle a log file daily, weekly, monthly, or when it grows too large. Learn more about logrotate here.

Installing logrotate

Logrotate is installed by default on many Linux distributions. You can check if it’s installed on your system by typing:


logrotate --version

If it’s not installed, you can install it using the package manager of your distribution. For example, on Ubuntu or Debian, you would use:


sudo apt-get install logrotate

Configuring logrotate

Logrotate configurations are stored in the /etc/logrotate.conf file and in the /etc/logrotate.d directory. Let’s create a simple configuration for our application logs.


/path/to/your/app/*.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
    create 640 root adm
    postrotate
        /etc/init.d/rsyslog reload > /dev/null
    endscript
}

This configuration will rotate the log files daily, keep 7 days of logs, compress the log files, and reload the rsyslog service after rotation.

Testing logrotate configuration

You can test your logrotate configuration with the debug option:


logrotate --debug /etc/logrotate.conf

This will output what would happen if the logrotate command were to be executed but without actually doing anything.

Conclusion

Congratulations! You’ve now set up automated log rotation with logrotate on Linux. This will help you manage your system logs more efficiently. Remember, log management is a crucial part of system administration and should not be overlooked. Happy logging!