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.txt
。fatal
省略してok
マスター。
ベストアンサー1
このページが見つかりました(https://coderwall.com/p/d5zqla/unbuffered-output-with-ansible-in-jenkins)、出力をバッファリング解除するように強制する方法を示します。
スクリプトを次のように修正しました。
export PYTHONUNBUFFERED=1
ansible-playbook -i inventory site.yml
これで、スクリプトが実行されると安定した出力が得られます。これは役に立ちますか?