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 {
    rotate 7
    create 640 root adm
        /etc/init.d/rsyslog reload > /dev/null

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.


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!