50

How can I monitor what logrotate is doing in Ubuntu? Can the activity of logrotate be monitored?

  • well you could go and see which file descriptors the process has opened... Maybe try to explain what exact problem you have? Are you trying to debug your own scripts? Performance of default/3rd party scripts? – Hubert Kario Oct 9 '10 at 15:31
54
cat /var/lib/logrotate/status 

To verify if a particular log is indeed rotating or not and to check the last date and time of its rotation, check the /var/lib/logrotate/status file. This is a neatly formatted file that contains the log file name and the date on which it was last rotated.

Taken From:

https://www.digitalocean.com/community/articles/how-to-manage-log-files-with-logrotate-on-ubuntu-12-10

  • 16
    You'll find this file as /var/lib/logrotate.status on Red Hat systems. – Michael Hampton Jun 24 '13 at 16:07
  • 1
    here's a complete guide to troubleshooting logrotate in Red Hat systems: access.redhat.com/solutions/32831 – Gaia Feb 23 '15 at 19:17
  • Considering Ubuntu, cat /var/lib/logrotate/status only shows logrotate activity initiated by the root user. Other users' cronjobs may trigger their own logrotate activity, e.g. when their crontab includes an entry such as 0 0 * * * /usr/sbin/logrotate $HOME/logrotate/logrotate.conf --state $HOME/logrotate/logrotate-state. That logrotate activity would be written to file $HOME/logrotate/logrotate-state, with $HOME being that user's home directory. – Abdull Jun 5 '18 at 12:06
  • In even more recent RedHat systems (at least in RHEL 7.6) the status file is now at /var/lib/logrotate/logrotate.status . – Richlv May 31 at 15:27
13

You can try running logrotate in debug or verbose mode:

-d     Turns  on  debug mode and implies -v.  In debug mode, no changes
          will be made to the logs or to the logrotate state file.

-v, --verbose
          Display messages during rotation.
  • Does this help this when logrotate is started as cron? I mean is there a possibility to log the behaviour of logrotate to a logfile? – user56548 Oct 9 '10 at 15:45
  • 2
    /usr/sbin/logrotate -v /etc/logrotate.conf &> /var/log/logrotate.log – kernelpanic Oct 9 '10 at 15:55
  • sudo logrotate -v /etc/logrotate.conf &> /var/log/logrotate.log bash: /var/log/logrotate.log: Permission denied – user56548 Oct 9 '10 at 16:01
  • 1
    @dude: If you're trying to do that from the command line and you're getting that error, you'll need to do it like this: sudo logrotate -v /etc/logrotate.conf 2>&1 | sudo tee -a /var/log/logrotate.log >/dev/null (make sure you have the -a). – Dennis Williamson Oct 9 '10 at 23:53
  • @Dennis when i try that i although creates the logrotate.log but it has 0KB and the process doesn't stop at the terminal and and waits with a blinking cursor. – user56548 Oct 10 '10 at 10:39
8

In Suse Linux distros is like this:

cat /var/lib/logrotate.status
  • AWS AMI Linux has same logrotate's status structure – Victor Perov Oct 22 '15 at 14:45
5

Various logs are rotated on various frequencies based on the configuration file (/etc/logrotate.conf) and/or directory (/etc/logrotate.d). Names may vary on different distributions. The configuration may specify pre and/or post rotation actions. Names of rotated files and last rotation date are in the state file (/var/lib/logrotate/state).

Logrotate does not have logging facilities. Reload/restart actions it initiates will be logged according to the logging for the program being acted on.

The easiest way to do that would be to edit /etc/cron.daily/logrotate to include the -v option. Detail about logrotate configuration and options can be found with the command man logrotate.

3

Dude, you can check the settings of logrotate, usually in /etc/logrotate.conf.

Modern distros have a specific logrotate configuration file in the /etc/logrotate.d directory.

e.g. for nginx

  /var/log/nginx/*.log {
    weekly
    missingok
    rotate 52

It will keep the file for 52 weeks (a year). The rotation is weekly.


Note: user56548 used to be "Dude"

enter image description here

  • Probably, you meant rotate 365 or weekly. Daily rotation with rotate 52 will keep 52 days of logs, obviously. – temoto Jul 18 '11 at 13:15
  • @temoto thanks, it was actually weekly – Ring Ø Jul 19 '11 at 4:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy