2016-09-08 5 views
2

crontabから不可能なプレイブックを実行することは可能ですか?私たちはいつか特定の時間に実行する必要があるプレイブックを持っていますが、私はcronがsshを好まないことを知っています。crontabからの可能なプレイブック

タワーにはスケジューリングエンジンが組み込まれていますが、タワーの使用には興味がありません。他の人たちは、どのようにしてプレイブックを予定していますか?

答えて

1

cronジョブを使用して、プレイブックを実行することができます。
-ttでsshを呼び出すと、TTYを強制的に切り替えるので、うまくいくはずです。

  • ホストには、パッケージの混合物が存在しない(例えばansible

    • ジョブユーザーが
    • ジョブ環境が正しい秘密鍵をsshをするためのアクセス権を持っている(、など... PYTHONPATH):
      ただ次のことを確認してくださいピップ経由でインストールして

    はまたansibleにthis便利コメントについてquietオプションが存在しないことを確認してください)同時にがち:

    ありcrontabのためのトリックがあります:あなたは完全な出力を得るこの方法は

    */15 * * * * if ! out=`ansible-playbook yourplaybook.yaml`; then echo $out; fi 
    

    が、ansibleが非ゼロのステータスで終了した場合にのみ、次のようにansible-脚本を実行します。

  • +0

    'anants-vault'パスワードを渡すのはどうですか? –

    +1

    @AK便利な '--vault-password-file' [option](http://docs.ansible.com/ansible/playbooks_vault.html#running-a-playbook-with-vault)があります。ファイル、または他のスクリプトのstdoutから取得することもできます。 –

    +0

    ありがとうKonstantin。私はcronを使って別のプレイブックをスケジュールすることができ、うまくいきました。私が問題を抱えていたプレイブックには、問題を抱えているようなpythonスクリプトが含まれています。 –

    関連する問題