Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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

share|improve this question
    
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
add comment

4 Answers

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

share|improve this answer
1  
You'll find this file as /var/lib/logrotate.status on Red Hat systems. –  Michael Hampton Jun 24 '13 at 16:07
add comment

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.
share|improve this answer
    
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
1  
/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
add comment

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 roated 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.

share|improve this answer
add comment

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.

share|improve this answer
    
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 –  ring0 Jul 19 '11 at 4:23
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.