Ansible 问题 - [Errno 2] 没有这样的文件或目录

Ansible Issue - [Errno 2] No such file or directory

我一直没有在这里发帖,因为我觉得这个问题可能太模糊了。我会尽力解释。我已经解决了所有现有问题,但它们似乎与我正在做的事情无关。

基本上,我在新角色中继承了 3 个 Ec2 实例,它们是开发/暂存/实时 Web 应用程序。我使用 Ansible 剧本在所有环境之间迁移数据库。我们最近有一个新网站部署到所有三个现有实例上。

Dev box 最近死了所以我把它吹走并启动了一个新的,网站看起来不错,但是导出和导入数据库不再有效(在新实例上)

下面是 Ansible 输出:

TASK: [Export database to migrate] ********************************************
failed: [172.**.**.***] => {"changed": true, "cmd": "wp db export dbv2.sql --tables=t*******0_links,t*******0_options,t*******0_postmeta,t*******0_posts,taxlt4ws0_rg_form,taxlt4ws0_rg_form_meta,taxlt4ws0_rg_form_view,t*******0_term_relationships,t*******0_term_taxonomy,t*******0_termmeta,t*******0_terms,t*******0_usermeta,t*******0_users", "delta": "0:00:00.001594", "end": "2017-09-01 10:21:25.225355", "rc": 127, "start": "2017-09-01 10:21:25.223761", "warnings": []}
stderr: /bin/sh: 1: wp: not found

FATAL: all hosts have already failed -- aborting

我检查过的东西:

我真的很困惑,我的 Ansible 知识非常有限,因为我几个月前才开始使用它,并且 运行 在 Dev box 出现之前没有遇到任何问题(即使是新网站)待更换。

基本上,这是在抱怨您在模块导出数据库中使用的任何脚本都无法找到 wp 脚本或可执行文件。

stderr: /bin/sh: 1: wp: not found

建议检查 which wp 或进行查找以查看它是否在暂存或实时实例上以查看它是什么,然后 install/copy 将其移交给 Dev 实例。

您可以使用一个小的测试脚本来验证这个假设:

#!/bin/sh
wp

创建这个脚本说 test.sh,给它可执行权限并在所有环境中 运行 它以查看它失败的地方。

我认为ansible指的是wpcli。它无法找到其可执行文件。

如果是这种情况,您需要先用另一个任务安装它。