compress the log files

Hi,
I have an application which creates the logs in a date wise.
like,

tomcat_access_log.2009-09-12.log
tomcat_access_log.2009-09-11.log
tomcat_access_log.2009-09-10.log
tomcat_access_log.2009-09-09.log
tomcat_access_log.2009-09-08.log
tomcat_access_log.2009-09-07.log

Now my requirement is to compress all the log files and keep only last 5 days compressed logfiles always.

For ex:

If today is 10/09/2009 ( mm/dd/yyyy)
then my log directory ( /var/log/appn) should looks like, 

tomcat_access_log.2009-10-09.log
tomcat_access_log.2009-10-08.log.gz
tomcat_access_log.2009-10-07.log.gz
tomcat_access_log.2009-10-06.log.gz
tomcat_access_log.2009-10-05.log.gz
tomcat_access_log.2009-10-04.log.gz

I tried to get it done using logrotate, but I couldn't.

It is really thankful, if you give, even some other mechanism to compress and keep only last 5 days logs.

logrotate

Before logrotate


-rw-r--r-- 1 root    root          0 Oct  9 02:46 tomcat_access_log.2009-10-01.log
-rw-r--r-- 1 root    root          0 Oct  9 02:46 tomcat_access_log.2009-09-30.log
-rw-r--r-- 1 root    root          0 Oct  9 02:46 tomcat_access_log.2009-09-29.log
-rw-r--r-- 1 root    root          0 Oct  9 02:46 tomcat_access_log.2009-09-28.log
-rw-r--r-- 1 root    root          0 Oct  9 02:46 tomcat_access_log.2009-09-27.log
-rw-r--r-- 1 root    root          0 Oct  9 02:46 tomcat_access_log.2009-09-26.log
-rw-r--r-- 1 root    root          0 Oct  9 02:46 tomcat_access_log.2009-09-25.log
-rw-r--r-- 1 root    root          0 Oct  9 02:46 tomcat_access_log.2009-09-24.log
-rw-r--r-- 1 root    root          0 Oct  9 02:46 tomcat_access_log.2009-09-23.log


content of /etc/logrotate.conf

/var/log/appn/*.log {
 daily
 compress
 rotate 5
}

After logrotate

-rw-r--r-- 1 root    root         20 Oct  9 02:54 tomcat_access_log.2009-10-01.log.1.gz
-rw-r--r-- 1 root    root          0 Oct  9 02:54 tomcat_access_log.2009-10-01.log
-rw-r--r-- 1 root    root         20 Oct  9 02:54 tomcat_access_log.2009-09-30.log.1.gz
-rw-r--r-- 1 root    root          0 Oct  9 02:54 tomcat_access_log.2009-09-30.log
-rw-r--r-- 1 root    root         20 Oct  9 02:54 tomcat_access_log.2009-09-29.log.1.gz
-rw-r--r-- 1 root    root          0 Oct  9 02:54 tomcat_access_log.2009-09-29.log
-rw-r--r-- 1 root    root         20 Oct  9 02:54 tomcat_access_log.2009-09-28.log.1.gz
-rw-r--r-- 1 root    root          0 Oct  9 02:54 tomcat_access_log.2009-09-28.log
-rw-r--r-- 1 root    root         20 Oct  9 02:54 tomcat_access_log.2009-09-27.log.1.gz
-rw-r--r-- 1 root    root          0 Oct  9 02:54 tomcat_access_log.2009-09-27.log
-rw-r--r-- 1 root    root         20 Oct  9 02:54 tomcat_access_log.2009-09-26.log.1.gz
-rw-r--r-- 1 root    root          0 Oct  9 02:54 tomcat_access_log.2009-09-26.log
-rw-r--r-- 1 root    root         20 Oct  9 02:54 tomcat_access_log.2009-09-25.log.1.gz
-rw-r--r-- 1 root    root          0 Oct  9 02:54 tomcat_access_log.2009-09-25.log
-rw-r--r-- 1 root    root         20 Oct  9 02:54 tomcat_access_log.2009-09-24.log.1.gz
-rw-r--r-- 1 root    root          0 Oct  9 02:54 tomcat_access_log.2009-09-24.log
-rw-r--r-- 1 root    root         20 Oct  9 02:54 tomcat_access_log.2009-09-23.log.1.gz
-rw-r--r-- 1 root    root          0 Oct  9 02:54 tomcat_access_log.2009-09-23.log



Its compressing all the log files and its not removing log files. Any input on this?

Kindly review my last input on this..

Any help is really appreciated..

Bumping up posts or double posting is not permitted in these forums.

Please read the rules, which you agreed to when you registered, if you have not already done so.

You may receive an infraction for this. If so, don't worry, just try to follow the rules more carefully. The infraction will expire in the near future

Thank You.

The UNIX and Linux Forums.

---------- Post updated at 14:20 ---------- Previous update was at 14:18 ----------

To keep logrotate from creating or truncating the original logs, set these options:

nocreate
nocopy
nocopytruncate

which are all described in the man page:

       nocopy Do  not copy the original log file and leave it in place.  (this
              overrides the copy option).


       nocopytruncate
              Do not truncate the original log file in place after creating  a
              copy (this overrides the copytruncate option).


       nocreate
              New  log  files  are  not  created  (this  overrides  the create
              option).

How about ...

/var/log/appn/*.log {
   daily
   rotate 5
   postrotate
      /etc/init.d/tomcat restart
   endscript
   compress
}