Script Bash e saída do arquivo yml

2

Estou tentando capturar stdout de um script para um arquivo e, ao mesmo tempo, exibi-lo em resumo:

./RUN host-names ANSIBLE.yml 2>&1 | tee out.txt

O que isto faz é que ele exibe e encaminha as linhas iniciais para out.txt , mas a partir daí, quando inicia a verificação real do host, ele pára de exibir e encaminhar para out.txt :

PLAY [all]
********************************************************************

GATHERING FACTS
********************************************************************

Após o PLAY e GATHERING FACTS , ele continua com seu trabalho, mas somente se eu executar o script sem o comando tee :

ok: [host.com]
ok: [host.com]
ok: [host.com]
fatal: [host.com]

Eu também estaria interessado em apenas grep da saída para o arquivo out.txt , como fatal e deixar de fora os hosts ok .

    
por nicoX 19.02.2015 / 12:06

1 resposta

2

Eu encontrei esta página ( link ) que mostra como forçar a saída para ficar sem buffer.

Eu modifiquei meu script para ficar assim:

    export PYTHONUNBUFFERED=1
    ansible-playbook -i inventory site.yml

e agora recebo uma saída ansible enquanto o script é executado. Isso ajuda?

    
por 23.02.2015 / 21:31

Tags