Eu escrevi um ajudante para depurar a instalação do verniz e o usei no servidor de produção e desenvolvimento. O estranho é que eu encontrei um comportamento diferente mesmo que a configuração seja quase idêntica (exceto hardware).
O comando é:
varnishlog > /var/log/v1.log & curl -I $URL; kill $!
Em nosso servidor de produção, ele funciona como esperado: varnishlog
inicia como um processo em segundo plano e redireciona sua saída para /var/log/v1.log
- então curl
é executado e quando é feito varnishlog
é eliminado (embora não veja a mensagem 'terminada' até o próximo comando ser executado).
Em nosso servidor de desenvolvimento, o comando é executado e a mensagem 'terminada' aparece logo após a saída de crul
. No entanto, /var/log/v1.log
está vazio.
Os dois servidores uname -srvmo
retornam Linux 2.6.32-358.18.1.el6.x86_64 #1 SMP Wed Aug 28 17:19:38 UTC 2013 x86_64 GNU/Linux
e ambos estão executando CentOS release 6.4 (Final)
.
EDITAR : parece que varnishlog > /var/log/v1.log
não funciona. Nem varnishlog > /var/log/v1.log 2>&1
ou varnishlog | tee /var/log/v1.log
(este último também não produz saída de produto para console). Outros comandos (por exemplo, echo 'test' > /var/log/v1.log
) funcionam como esperado. A versão do verniz é exatamente a mesma em ambas as máquinas ( varnish-3.0.5 revision 1a89b1f
).