ansible - 使用 Ansible 在目标服务器上创建文件
问题描述
我正在尝试使用 Ansible 在目标服务器上创建一个文件。
我想从目标服务器上的 env 变量中获取路径。
代码是:
- name: Create a file
win_file:
path: ansible_env.CONFIG_HOME\conf\xyz.txt
state: file
我收到的错误是:
“改变”:错误,
"msg": "不会创建路径 ansible_env.CONFIG_HOME\conf\xyz.txt"
解决方案
这里有两个问题。
首先,由于您尝试使用环境变量,因此需要大括号{{ }}
来插入值。
其次,仔细阅读文档,了解win_file
它谈论state
行为方式的地方:
If
file
, 如果文件不存在,则不会创建该文件if
touch
,如果路径不存在,将创建一个空文件
考虑到上述情况,以下内容应该适合您:
- name: Create a file
win_file:
path: "{{ ansible_env.CONFIG_HOME }}\conf\xyz.txt"
state: touch
推荐阅读
- r - 如何使用 Slurm 在多个节点上拆分 R 循环?
- json - HttpClient 读取不完整或格式错误的字符串
- c - 如何在不符合 C99 的程序中使用没有 complex.h 库的 C 中的复数?
- php - Cakephp hasMany 返回空关联表
- python - 是否有更简洁的方法来处理 for 循环中的(连续)独占 if 语句?
- arrays - 汇编语言中String和Array的区别
- javascript - 如何将反应状态中的值作为变量包含在 API 调用中的查询参数中
- xml - Jupyter Notebook + Pyspark - 加载 spark-xml 包时遇到问题
- python - 如何使用“objects.create”将数据添加到 Django 的 mysql 表中
- php - 如何使 /login 路由仅适用于 Symfony4 中的匿名用户?