nativeInstallernginx

Configure and use logrotate

Logrotate is designed to ease administration of systems that generate large numbers of log files. It allows automatic rotation, compression, removal, and mailing of log files.

Enable logrotate

Recent versions of Bitnami stacks ship Logrotate configuration files for all servers.

If you are using a Linux native installer, the Logrotate files are stored in the installdir/config directory. To enable logrotate, create a symbolic link, as shown below:

$ sudo ln -s installdir/config/logrotate/bitnami.conf /etc/logrotate.d/bitnami.conf

Locate logrotate files

Logrotate files for different servers are stored in the installdir/config/logrotate/logrotate.d and /etc/logrotate.d directories. For instance, to configure the Apache Logrotate file, edit the file at installdir/config/logrotate/logrotate.d/apache. Use the man logrotate command for information on all available options.

By default, Logrotate uses the “copytruncate” approach so it is not necessary to restart the servers.

IMPORTANT: The “copytruncate” approach truncates the original log file to zero size in place after creating a copy, instead of moving the old log file and optionally creating a new one. There is a very small time slice between copying the file and truncating it, so some logging data might be lost. To record every request, use a different approach for rotating the logs.

Test logrotate

NOTE: The Approach A sections referred to below do not apply to Bitnami native installers. Users of Bitnami native installers should refer only to the Approach B sections.

Approach A: Bitnami installations using system packages

The command below displays the current Logrotate configuration for the Apache server:

$ sudo logrotate -d /etc/logrotate.d/apache

rotating pattern: installdir/apache/logs/*log  weekly (150 rotations)
empty log files are rotated, old logs are removed
considering log installdir/logs/access_log
  log does not need rotating
considering log installdir/apache2/logs/error_log
  log does not need rotating

To test Logrotate, run the command below and then check the Apache server’s log/ directory which should contain the compressed files with the logs:

$ sudo logrotate -f /etc/logrotate.d/apache
$ ls /opt/bitnami/apache/logs

access_log  access_log-YYYYMMDD.gz  error_log  error_log-YYYYMMDD.gz

Approach B: Self-contained Bitnami installations

The command below displays the current Logrotate configuration for your servers:

$ sudo logrotate -d /etc/logrotate.d/bitnami.conf

rotating pattern: installdir/apache2/logs/*_log  weekly (150 rotations)
empty log files are rotated, old logs are removed
considering log installdir/apache2/logs/access_log
  log does not need rotating
considering log installdir/apache2/logs/error_log
  log does not need rotating

To test Logrotate, run the command below and then check the server’s log/ directories which should contain the compressed files with the logs:

$ sudo logrotate -f /etc/logrotate.d/bitnami.conf
Last modification September 28, 2021