是否可以在剧本中包含文件内容?
Is it possible to include file content in a playbook?
我需要在远程主机上创建或覆盖文件。模块 lineinfile
或 blockinfile
在更新文件时很有用,但不能从头创建文件或完全覆盖现有文件。
显而易见的解决方案是使用 copy
,但我希望尽可能多地拥有一个独立的剧本,不带文件。 是否可以在剧本中包含要创建的文件的内容?
也许有一个带有文件内容的变量可以用作 copy
的 src=
参数(我试过这个但它不起作用 src
需要一个本地文件)
template - 模块是实现您目标的好方法。
复制内容:
tasks:
- copy:
content: |
This is some
not too complex
cotent for a file
dest: content.txt
但根据 Ansible doc:
This is for simple values, for anything complex or with formatting please switch to the template module.
我需要在远程主机上创建或覆盖文件。模块 lineinfile
或 blockinfile
在更新文件时很有用,但不能从头创建文件或完全覆盖现有文件。
显而易见的解决方案是使用 copy
,但我希望尽可能多地拥有一个独立的剧本,不带文件。 是否可以在剧本中包含要创建的文件的内容?
也许有一个带有文件内容的变量可以用作 copy
的 src=
参数(我试过这个但它不起作用 src
需要一个本地文件)
template - 模块是实现您目标的好方法。
复制内容:
tasks:
- copy:
content: |
This is some
not too complex
cotent for a file
dest: content.txt
但根据 Ansible doc:
This is for simple values, for anything complex or with formatting please switch to the template module.