Назад | Перейти на главную страницу

logrotate: ни вращать, ни сжимать пустые файлы

Я только что настроил (r) сервер системного журнала для получения журналов различных клиентов, который отлично работает.

только logrotate по-прежнему работает не так, как задумано. Я хочу, чтобы logrotate создавал новый файл журнала на каждый день, но только для сохранения и хранения, т.е. сжимал непустые файлы.

моя конфигурация logrotate в настоящее время выглядит так

# sample configuration for logrotate being a remote server for multiple clients
/var/log/syslog
{
rotate 3
daily
missingok
notifempty
delaycompress
compress
dateext
nomail
postrotate
reload rsyslog >/dev/null 2>&1 || true
endscript
}
# local i.e. the system's very own logs: keep logs for a whole month
/var/log/kern.log
/var/log/kernel-info
/var/log/auth.log
/var/log/auth-info
/var/log/cron.log
/var/log/cron-info
/var/log/daemon.log
/var/log/daemon-info
/var/log/mail.log
/var/log/rsyslog
/var/log/rsyslog-info
{
rotate 31
daily
missingok
notifempty
delaycompress
compress
dateext
nomail
sharedscripts
postrotate
reload rsyslog >/dev/null 2>&1 || true
endscript
}
# received i.e. logs from the clients
/var/log/path-to-logs/*/*
{
rotate 31
daily
missingok
notifempty
delaycompress
compress
dateext
nomail
}

в итоге я получаю что-то вроде "обобщенных" файлов, таких как filename-datestampDay-Day и соответствующие файлы .gz. У меня есть пустые файлы, которые в конечном итоге заархивированы.

так делает notifempty директива фактически отвечает за эти файлы DayX-DayY, дни, в которые действительно ничего не происходило?

Каким будет эффективный способ удалить как пустые файлы журналов, так и их файлы .gz, чтобы в конечном итоге я сохранял только журналы / сжатые файлы, которые действительно содержат данные?

Notifempty работает правильно, удалите delaycompress из конфигурации.

Я протестировал его на локальном компьютере, и он должен работать так, как вы хотите.

Это тоже хорошая команда:

logrotate -d /etc/logrotate.d/<CONFIG_FILE>

Он покажет вам, как будут обрабатываться журналы без фактической обработки журналов.