Я в тупике с этим. Любая помощь высоко ценится...!
Журналы в / var / log / HOSTS / cacheflow_access_log / настроены для архивирования в / var / log / HOSTS / archived / cacheflow_access_log / и сжатия. Это довольно большие файлы, поэтому их следует хранить не более 1 дня, чтобы Splunk или Sawmill могли обобщить их содержимое.
Журналы вращаются и сжимаются без проблем, но старые сжатые журналы не удаляются. Подробный вывод logrotate предполагает, что это проблема с glob. Это смотрит в жить каталог, а не архив каталог? Если да, то как я могу это исправить? Если нет, то что это происходит ?!
Logrotate conf:
# logrotate configuration for syslog files
# global options
rotate 1
missingok
daily
compress
ifempty
dateformat -%Y%m%d
dateext
---SNIP---
/var/log/HOSTS/cacheflow_access_log/* {
daily
# only keep 1 day of cacheflow as they're massive files
maxage 1
rotate 1
olddir /var/log/HOSTS/archived/cacheflow_access_log
postrotate
invoke-rc.d proftpd restart 2>/dev/null >/dev/null || true
endscript
}
Подробный вывод Logrotate:
considering log /var/log/HOSTS/cacheflow_access_log/CF_5000_20120803_092129.log
log needs rotating
rotating log /var/log/HOSTS/cacheflow_access_log/CF_5000_20120802_120326.log, log >rotateCount is 1
Converted ' -%Y%m%d' -> '-%Y%m%d'
dateext suffix '-20120803'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
glob finding old rotated logs failed
renaming /var/log/HOSTS/cacheflow_access_log/CF_5000_20120802_120326.log to /var/log/HOSTS/archived/cacheflow_access_log/CF_5000_20120802_120326.log-20120803
running postrotate script
Запуск Debian Squeeze 2.6.32-5-686-bigmem
Я знаю, что в этой конфигурации есть ненужные дублирования (например, поворот 1 не нужно повторять) - это было просто для того, чтобы убедиться, что это не проблема, вызывающая эту проблему.
Спасибо!
Возможно, это происходит из-за того, что в файле журнала уже есть дата в имени, и поэтому это новое имя каждый день. Обычно я вижу файлы журнала со статическим именем, а logrotate добавляет расширение, чтобы сделать их уникальными. logrotate может искать старые файлы в каталоге архива с именем CF_5000_20120802_120326.log, чтобы удалить их. Он не находит ничего, потому что базовое имя каждого файла уникально.