bash - 在 Ansible 中执行另一个命令之前,如何编写一个需要 15 分钟才能运行的 bash 命令?
问题描述
我正在尝试通过 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 命令运行之前成功完成第一个。请指教!
解决方案
@sorin 这是 Ansible 相关的!
@op; 您可以附加到firmware_update.sh
脚本,完成后,它将某个值写入特定路径。然后让 Ansible 检查该文件以及该值是否存在。如果是,继续,如果不是,重试。
另一种可能性是在 bash 脚本本身中编写逻辑。
推荐阅读
- python - 在python中编辑已经打印的文本
- sql - 如何在 SQL 中将四列值附加到两列中
- typescript - TypeScript 中的 D3 库(Cognos Analytics)
- arrays - 从 scikit.rf 网络中减去常量
- javascript - 在 WebView 中添加限制以阻止在 WebView 中打开其他链接
- qt - 仅在 QML 中创建 TreeView
- c# - 索引视图未将参数 Id 传递给 mvc 控制器
- python - 通过 Python 扫描指令从打印机获取 PDF 文件
- javascript - Vue中的发射不会发射
- asp.net-mvc - IIS 中的重定向 404 服务器错误