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

Проблема с лаком logrotate

У меня это в logrotate.d/varnish файл:

/var/log/varnish/*log {
                create 640 http log
                compress
                postrotate
                        /bin/kill -USR1 `cat /var/run/varnishncsa.pid 2>/dev/null` 2> /dev/null || true
                endscript
        }

И это в моем /etc/rc.local файл:

varnishncsa -a -w /var/log/varnish/access.log -D -P /var/run/varnishncsa.pid

Но когда logrotate создает новый access.log файл, он остается пустым. я должен сделать sh /etc/rc.local для сохранения журналов в этом файле. Поскольку логротация происходит еженедельно, я должен выполнить это rc.local каждую неделю, чтобы журналы сохранялись в access.log файл. В чем может быть проблема?

Я абсолютно ничего не знаю о лаке, но похоже, что вам следует отправить его SIGHUP для ротации журналов, а не SIGUSR1.

Новый пустой файл журнала является довольно хорошим индикатором того, что демон не получает сообщение о том, что он должен закрыть старый файл журнала и переключиться на новый.