如何从crontab执行ansible playbook?

Bob*_*ble 6 ansible

是否可以从crontab执行ansible playbook?我们有一个需要在某一天的某个时间运行的剧本,但我知道cron不喜欢ssh.

Tower有一个内置的调度引擎,但我们对使用Tower不感兴趣.其他人如何安排ansible playbooks?

Kon*_*rov 11

您可以使用cron作业来运行您的剧本.
Ansible调用带有-ttswitch的ssh 来强制TTY,所以它应该工作得很好.
请检查以下内容:

  • 作业用户可以访问ssh私钥
  • 工作环境是正确的(PYTHONPATH等...)
  • 主机上没有包装混合物(例如,通过pip和apt同时安装的ansible)

还要检查这个约得心应手评论quiet选项缺少ansible:

crontab有一个技巧:运行ansible-playbook如下:

*/15 * * * *    if ! out=`ansible-playbook yourplaybook.yaml`; then echo $out; fi
Run Code Online (Sandbox Code Playgroud)

这样您就可以获得完整的输出,但只有当ansible退出非零状态时才会出现.