在Ansible中执行另一个命令之前,如何编写需要15分钟才能运行的bash命令?

时间:2019-11-05 20:19:12

标签: bash shell ansible

我正在尝试通过Ansible为服务器更新某些软件的版本。

    - name: upgrade firmware version
      shell: bash -x bmc_firmware_update.sh -k -F BMC_0204.00.bin_enc -s 1 

这可能需要大约15分钟才能运行。在那之后,我还有另一个命令要运行,即

    -name: something else
     shell: bash -x bmc_firmware_update.sh -k -F BMC_0204.00.bin_enc -s 2. 

我遇到了wait_for:timeout = 300,但是我想知道是否有更好的方法来确保在运行第二个shell命令之前成功完成第一个。请指教!

2 个答案:

答案 0 :(得分:0)

显然,这与Ansible无关。

默认情况下,程序在前台运行。

答案 1 :(得分:0)

@sorin这与Ansible相关!

@op;您可以附加到firmware_update.sh脚本,该脚本完成后会将特定值写入特定路径。然后让Ansible检查该文件以及该值是否存在。如果是,请继续,如果没有,请重试。

另一种可能性是在bash脚本本身中编写逻辑。