Apache log rotate configuration

HI

i was trying to configure logrotate for my apache server and it's not working properly.

Os: Red Hat 6

here is my lodrotate configuration

/var/log/httpd/*log {
    daily
    missingok
    notifempty
    sharedscripts
    compress
    delaycompress
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
}

And here is the logs directory

-rw-r--r-- 1 root root         1 Dec  4 09:10 jk-runtime-status.5767.lock
-rwxrwxr-x 1 root root         0 Dec  5 03:23 ssl_request_log
-rwxrwxr-x 1 root root         0 Dec  5 03:23 ssl_error_log
-rwxrwxr-x 1 root root         0 Dec  5 03:23 ssl_access_log
-rwxrwxr-x 1 root root         0 Dec  5 03:23 rewrite.log
-rwxrwxr-x 1 root root         0 Dec  5 03:23 mod_jk.log
-rwxrwxr-x 1 root root         0 Dec  5 03:23 error_log
-rwxrwxr-x 1 root root         0 Dec  5 03:23 access_log
-rwxrwxr-x 1 root root      5274 Dec  5 04:19 ssl_error_log-20181205
-rwxrwxr-x 1 root root     47198 Dec  5 06:10 error_log-20181205
-rwxrwxr-x 1 root root  11131982 Dec  5 06:13 ssl_request_log-20181205
-rwxrwxr-x 1 root root   9037654 Dec  5 06:13 ssl_access_log-20181205
-rwxrwxr-x 1 root root 514548359 Dec  5 06:13 rewrite.log-20181205
-rw-r--r-- 1 root root      6080 Dec  5 06:13 jk-runtime-status.5767
-rwxrwxr-x 1 root root   7457352 Dec  5 06:13 mod_jk.log-20181205
-rwxrwxr-x 1 root root  57777013 Dec  5 06:13 access_log-20181205

as you can see log is rotated with date ext but apache is still writing logs to rotated file no to new files(new files size is 0 bytes)

Reloading apache will cause for a log file to stay open, since the process never exited, only re-read the configuration file.

You can either change the logrotate to copytruncate or use different type of logging inside apache configuration (pipe to log program e.g logger).
Third option is to issue an actual restart, not reload, which will force apache the recreate the file after restart, if you can have a bit downtime.

All options have their pros and cons.

Hope that helps
Regards
Peasant.

cannot do from http conf file as directory has 7 types of log files

i have changes conf file with

/var/log/httpd/*log {
    daily
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    sharedscripts
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
}

renamed all log files without date ext.

ran : logrotate -f /etc/logrotate.d/httpd

and it created log with.1 extension

drwxrwxr-x.  2 root root    4096 Dec  5 08:52 .
drwxr-xr-x. 16 root root    4096 Dec  3 13:39 ..
-rw-r--r--   1 root root  143348 Dec  5 08:52 access_log.1
-rw-r--r--   1 root root    3411 Dec  5 08:51 error_log.1
-rw-r--r--   1 root root    6080 Dec  5 08:52 jk-runtime-status.28481
-rw-r--r--   1 root root       1 Dec  5 08:49 jk-runtime-status.28481.lock
-rw-r--r--   1 root root   13395 Dec  5 08:52 mod_jk.log.1
-rw-r--r--   1 root root 1522929 Dec  5 08:52 rewrite.log.1
-rw-r--r--   1 root root   28671 Dec  5 08:52 ssl_access_log.1
-rw-r--r--   1 root root     250 Dec  5 08:49 ssl_error_log.1
-rw-r--r--   1 root root   35003 Dec  5 08:52 ssl_request_log.1

I do not see a problem with editing http configuration files to change way logging is done to suit your needs.

Whatever you do, a reload is not a restart, so apache will keep the log file(s) open and write to those files.
This is if you use logrotate to rotate those logs without apache restart or copytruncate option.

Take a look at this, but you will need to change the httpd.conf..
rotatelogs - Piped logging program to rotate Apache logs - Apache HTTP Server Version 2.4