access_log, кажется, имеет постоянный размер 0. Но error_log записывается нормально.
Удивительно, но access_log. [1-5] .gz созданы, но только access_log.3.gz и access_log.4.gz содержат непустые журналы.
Хорошо, вот файл logrotate.conf, который также находится в каталоге файлов журналов:
# create new (empty) log files after rotating old ones
create
# compress old logs with gzip
compress
/home/default/example.com/user/logfiles/access_log {
missingok
rotate 5
daily
postrotate
/usr/bin/killall -HUP syslogd
endscript
}
/home/default/example.com/user/logfiles/error_log {
missingok
rotate 5
size=5M
postrotate
/bin/kill -USR1 `cat /var/run/httpd.pid`
endscript
}
/home/default/example.com/user/logfiles/agent_log {
missingok
rotate 5
size=5M
postrotate
/bin/kill -USR1 `cat /var/run/httpd.pid`
endscript
}
/home/default/example.com/user/logfiles/referer_log {
missingok
rotate 5
size=5M
postrotate
/bin/kill -USR1 `cat /var/run/httpd.pid`
endscript
}
Хотя нет файлов agent_log, referer_log. Итак, что-то явно не так с этим файлом logrotate.conf? Если нет, то как мне узнать, используется ли этот файл или в чем проблема? При необходимости я могу опубликовать дополнительную информацию.
Кстати, это Ubuntu 8.10.
Обновление: htttd.pid даже не существует.
ubuntu:~# cat /var/run/httpd.pid
cat: /var/run/httpd.pid: No such file or directory
Ваш postrotate настроен на перезапуск syslogd. Я считаю, что вам нужно сделать это с httpd.
Вы проверили настройки Apache? Logrotate просто вращает файлы журналов, но не записывает в них. Поэтому, если в ваших файлах журнала отсутствует контент, вам следует начать с просмотра настроек Apache.