Main menu

Pages

Introduction 

Logs are an important part of system and application administration, as they provide a record of events that have occurred on the system or within an application. By analyzing log files, you can track the performance of your system or application, identify problems, and troubleshoot issues.

 

Proper log management is important to ensure that log files do not consume too much disk space and are available when needed. This may involve rotating log files, which involves creating a new copy of the log file and starting to write new log messages to the new copy, while retaining the old copy, and archiving log files to a separate location or storage medium. The logrotate utility is commonly used to automate these tasks on Linux systems.


logrotate

The logrotate utility is a Linux command that is used to manage the rotation of log files. It is typically used to compress and archive old log files, and to delete log files that are no longer needed.

 

The logrotate utility is designed to be run as a scheduled task, usually on a daily basis. When it is run, it checks a configuration file for a list of log files that should be rotated. It then performs the specified rotation operations on each log file, such as compressing the file, renaming it, or deleting it.

 

In the context of log file management, "rotating" a log file means creating a new copy of the log file and starting to write new log messages to the new copy, while retaining the old copy. This is typically done to prevent a single log file from growing indefinitely, which can make it difficult to manage and analyze.

 

By default, logrotate renames the current log file by appending a number to the end of the file name, starting with .1. For example, if the current log file is /var/log/messages, it would be renamed to /var/log/messages.1. If a /var/log/messages.1 file already exists, it would be renamed to /var/log/messages.2, and so on. The rotated log files are then retained for a specified period of time, after which they can be deleted to free up space.


The logrotate utility is highly configurable, and you can use it to specify different rotation schedules and options for different log files. For example, you can use it to compress log files after they reach a certain size, or to keep only a certain number of rotated log files.

 

To use the logrotate utility, you will need to create a configuration file that specifies the log files to be rotated and the rotation options to be used. The configuration file is typically located at /etc/logrotate.conf, and you can use the include directive to specify additional configuration files for specific log files.

 

The configuration file is written in a specific format, with one section per log file to be rotated. Each section begins with the name of the log file and includes a set of options that control how the log file should be rotated.

Here is an example of a simple logrotate configuration file:

/var/log/syslog { rotate 7 compress delaycompress missingok notifempty }

This configuration file specifies the log file: /var/log/syslog 

The rotate option specifies the number of rotated log files to keep,

the compress and delaycompress options specify that the rotated log files should be compressed. 

The missingok option specifies that the logrotate utility should continue running even if the log file is missing, 

and the notifempty option specifies that the log file should not be rotated if it is empty.

 

Once you have created your configuration file, you can run the logrotate command to rotate your log files. You can run it manually, or you can set it up to run automatically as a scheduled task. 

To run logrotate manually, you can type:

logrotate /etc/logrotate.conf

To set up logrotate to run automatically, you can use a utility such as cron to schedule it to run on a regular basis.



Comments