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

时间:2017-09-01 10:36:04

标签: database amazon-web-services ansible export

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

基本上,我已经在我的新角色中继承了3个Ec2实例,这些实例是Dev / Staging / Live Web应用程序。我使用Ansible playbooks在所有环境之间迁移数据库。我们最近有一个新网站部署到所有三个现有实例上。

开发框最近已经死了所以我把它吹走了并推出了一个新网站,网站看起来不错,但导出和导入数据库不再有用(在新实例上)

以下是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

我检查过的事情:

  • Chmod对其导入/导出的文件夹。
  • 设置了IAM角色
  • 在Playbook中使用Shell而不是Command
  • 为每个环境配置

我真的很难过我的Ansible知识非常有限,因为我几个月前才拿到它,并且没有遇到任何问题(即使有一个新的网站),直到必须更换开发框。

2 个答案:

答案 0 :(得分:1)

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

  

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

建议检查which wp或者查找是否在暂存或实时实例上查看它是什么,并将其安装/复制到Dev实例。

您可以使用小型测试脚本来测试此假设:

#!/bin/sh
wp

创建此脚本说test.sh,赋予它可执行权限并在所有env上运行它以查看它失败的位置。

答案 1 :(得分:1)

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

如果是这种情况,则需要在该任务之前安装另一个任务。