varnishlog 和流重定向的奇怪行为

varnishlog 和流重定向的奇怪行为

我编写了一个助手来调试 varnish 安装,并在生产和开发服务器上都使用了它。奇怪的是,尽管设置几乎相同(硬件除外),但我遇到了不同的行为。

命令是:

varnishlog > /var/log/v1.log & curl -I $URL; kill $!

在我们的生产服务器上,它按预期工作:varnishlog作为后台进程启动并将其输出重定向到/var/log/v1.log- 然后curl执行,完成后被varnishlog终止(尽管直到执行下一个命令我才看到“终止”消息)。

在我们的开发服务器上,命令执行后,在crul输出后立即出现“终止”消息。但是,/var/log/v1.log为空。

两台服务器uname -srvmo均已返回Linux 2.6.32-358.18.1.el6.x86_64 #1 SMP Wed Aug 28 17:19:38 UTC 2013 x86_64 GNU/Linux并且正在运行CentOS release 6.4 (Final)

编辑:似乎varnishlog > /var/log/v1.log不起作用。 或varnishlog > /var/log/v1.log 2>&1也不起作用varnishlog | tee /var/log/v1.log(后者也不会将输出输出到控制台)。 其他命令(例如echo 'test' > /var/log/v1.log)按预期工作。 两台机器上的 Varnish 版本完全相同(varnish-3.0.5 revision 1a89b1f)。

相关内容