Bashスクリプトとymlファイルの出力

Bashスクリプトとymlファイルの出力

stdout進行状況の概要を表示しながらスクリプトをファイルにキャプチャしようとしています。

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

それがすることは、最初の行を表示してそれをに渡すことですout.txt。ただし、実際のホストチェックでは表示を停止して次に渡しますout.txt

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

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

その後もPLAY機能しますGATHERING FACTSが、次のコマンドなしでスクリプトを実行する場合にのみ可能ですtee

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

grep私もファイルの一部の出力に興味がありますout.txtfatal省略してokマスター。

ベストアンサー1

このページが見つかりました(https://coderwall.com/p/d5zqla/unbuffered-output-with-ansible-in-jenkins)、出力をバッファリング解除するように強制する方法を示します。

スクリプトを次のように修正しました。

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

これで、スクリプトが実行されると安定した出力が得られます。これは役に立ちますか?

おすすめ記事