Varnish logrotate问题

Varnish 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日志保存到该文件中。由于 logrotation 每周发生一次,我必须rc.local每周执行一次才能将日志保存到access.log文件中。这里可能存在什么问题?

答案1

我对清漆一无所知,但看起来你应该把它寄给信号进行日志轮换,而不是 SIGUSR1。

新的空白日志文件是一个很好的迹象,表明守护进程没有收到应该关闭旧日志文件并切换到新日志文件的消息。

相关内容