I want to set up daily logrotate for my Tomcat server' catalina.out log file but it's not working - I haven't seen the rotated log files created.
To troubleshoot, I ran logrotate -d /etc/logrotate.conf and got the following:
rotating pattern: /usr/local/tomcat/logs/catalina.out 5242880 bytes (7 rotations) empty log files are rotated, old logs are removed considering log /usr/local/tomcat/logs/catalina.out log needs rotating rotating log /usr/local/tomcat/logs/catalina.out, log->rotateCount is 7 dateext suffix '-20151223' glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' glob finding old rotated logs failed copying /usr/local/tomcat/logs/catalina.out to /usr/local/tomcat/logs/catalina.out-20151223 truncating /usr/local/tomcat/logs/catalina.out compressing log with: /bin/gzip It seems like everything is working without any error. However, there is no results:
[root@gec logrotate.d]# ls -lrth /usr/local/tomcat/logs/cata* -rw-r--r-- 1 root root 398 Dec 4 17:48 /usr/local/tomcat/logs/catalina.2015-12-04.log -rw-r--r-- 1 root root 109M Dec 23 17:21 /usr/local/tomcat/logs/catalina.out My /etc/logrotate.conf:
daily rotate 7 # create new (empty) log files after rotating old ones create # use date as a suffix of the rotated file dateext # uncomment this if you want your log files compressed #compress # RPM packages drop log rotation information into this directory include /etc/logrotate.d My /etc/logrotate.d/tomcat:
/usr/local/tomcat/logs/catalina.out { copytruncate daily rotate 7 compress missingok size 5M } What is wrong?
Updates:
Interestingly, running logrotate -f /etc/logrotate.conf creates the rotation gzip files!
[root@gec logrotate.d]# ls -lrth /usr/local/tomcat/logs/cata* -rw-r--r-- 1 root root 398 Dec 4 17:48 /usr/local/tomcat/logs/catalina.2015-12-04.log -rw-r--r-- 1 root root 1.1M Dec 23 17:26 /usr/local/tomcat/logs/catalina.out-20151223.gz -rw-r--r-- 1 root root 109K Dec 23 17:27 /usr/local/tomcat/logs/catalina.out However, how do I know whether the daily cron job will work?
logrotatewith the-vflag, as from the man page the-dflag says: "In debug mode, no changes will be made to the logs or to the logrotate state file."