a trick in absible
关于在 ansible 上启动一个进程,结果一直失败之后调试的一次记录。
最近在在阿里云虚拟机上进行一些实验,因为需要操作的机器太多,即使写脚本,也要进行很多重复工作。在调研之后选用了 ansible 来协助。
ansible 有一些学习成本,但整体还好。主要是关于 module 的那一块需要仔细了解。
最后在 shell、command 中选了shell,因为移植成本低,命令直接就可以用。相比于 shell module,command 因为保证了很多其他的功能,其实更适合大部分场景。
但是在实际运行的时候,有一个在后台运行的命令失败了,并且在所有输出流中都没有相关输出。
抽象出来的命令如下:
1 | ./a -conf ../config.toml &> out & |
进行了信息的检索,发现 shell module 的确会出现这样的问题。
参考了nohup 绕开 ansible shell 限制启动后台程序
使用 ansible 括号启动后台程序
stack overflow相关问题
add sleep 1 in raw module
最后使用了 raw module 的方法成功启动。