我有一个数据库主机,上面有一些 sql 文件。我想使用 ansible 剧本将其来源到数据库中。所以我找到所有文件并在变量中注册,然后尝试使用以下代码获取这些文件。
- name: get schema files
find:
paths: "~/dbs/"
recurse: no
patterns: "*.sql"
register: db_sql_files
- name: import schemas
mysql_db:
name: all
state: import
target: "{{ item['path'] }}"
login_user: "{{ db_user }}"
login_password: "{{ db_pass }}"
with_items: "{{ db_sql_files['files'] }}"
当我运行剧本时,出现以下错误。
The task includes an option with an undefined variable. The error was: 'item' is undefined
看起来
with_items
条目的缩进有误。从条目中删除两个空格with_items
应该可以解决问题: