Ansible命令执行错误

时间:2015-12-04 13:42:37

标签: bash ansible

我有一个bash脚本,我使用Ansible在节点上执行。

> str(ds[[2]])
num [1:5] 1 0 0 0 0

部分脚本正在执行:

- name : execute the script for uploading www files
  shell: /root/upload_www.sh

该脚本执行很长时间(大约3个小时,因为有大约80gb数据和其他逻辑的rsync任务),Ansible任务完成时出现错误消息:ssh -t -o StrictHostKeyChecking=no -i $key user@$backupsrv "sudo rsync -ravzhe \"ssh -o StrictHostKeyChecking=no -i $key\" /var/www/html user@$source:/var/www/" 但是脚本 继续执行,该脚本中的所有任务最终都会成功完成。

在运行命令"Killed"后的Ansible主机上,我得到以下输出:

ansible-playbook www.yml

我如何等待我的脚本正常结束?

1 个答案:

答案 0 :(得分:4)

您可以通过添加async: "{{ max_wait_time }}"选项来使您的任务成为asynchronous action

- name : execute the script for uploading www files
  shell: /root/upload_www.sh
  async: 10800 # max wait of 3 hours in seconds
  poll: 300 # check for completion every 300 seconds

但是,我对在这么长时间内使用异步动作持谨慎态度,以及你是否可能会采用不同的方法做得更好,但很难建议更好的做事方式不知道你想要解决的问题。