2016-09-08 150 views
2

是否有可能從crontab執行一個非常好的劇本?我們有一個需要在特定時間運行的劇本,但我知道cron不喜歡ssh。從crontab的ansible playbook

塔有一個內置的調度引擎,但我們並沒有興趣使用塔。其他人如何安排完善的劇本?

回答

1

您可以使用cron作業來運行您的劇本。
Ansible調用ssh與-tt切換到強制TTY,所以它應該很好。
只是檢查以下內容:

  • 工作的用戶可以訪問使用SSH私鑰
  • 的工作環境是正確的(PYTHONPATH等)
  • 有主機上沒有包混合物(如ansible通過PIP安裝,並在同一時間APT)

還要檢查this方便評論有關quiet選項缺少ansible:

有對crontab的一招:運行ansible-劇本如下:

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

這樣,你得到完整的輸出,但只有ansible退出了非零狀態。

+0

傳遞'ansible-vault'密碼怎麼樣? –

+1

@AK有方便的'--vault-password-file' [option](http://docs.ansible.com/ansible/playbooks_vault.html#running-a-playbook-with-vault),它允許從文件甚至是其他腳本標準輸出。 –

+0

謝謝康斯坦丁。我能夠使用cron安排一個不同的劇本,它工作得很好。我有問題的劇本包含一個似乎有問題的python腳本。 –