我一直在这里发帖,因为我觉得这个问题可能太模糊了。我会尽力解释。我已经完成了所有现有的问题,但它们似乎与我正在做的事情无关。
基本上,我已经在我的新角色中继承了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
我检查过的事情:
我真的很难过我的Ansible知识非常有限,因为我几个月前才拿到它,并且没有遇到任何问题(即使有一个新的网站),直到必须更换开发框。
答案 0 :(得分:1)
基本上抱怨的是,您在模块导出数据库中使用的任何脚本都无法找到wp
脚本或可执行文件。
stderr:/ bin / sh:1:wp:not found
建议检查which wp
或者查找是否在暂存或实时实例上查看它是什么,并将其安装/复制到Dev实例。
您可以使用小型测试脚本来测试此假设:
#!/bin/sh
wp
创建此脚本说test.sh,赋予它可执行权限并在所有env上运行它以查看它失败的位置。
答案 1 :(得分:1)
我认为ansible指的是wpcli。它无法找到它的可执行文件。
如果是这种情况,则需要在该任务之前安装另一个任务。