什么是简单的方法来自动创build不存在的目录
在我的Ansible剧本中,很多时候我需要在那里创build文件
- name: Copy file template: src: code.conf.j2 dest: "{{project_root}}/conf/code.conf"
现在好多次都不在了。 那么我必须先创build更多的任务来创build该目录。
有没有什么简单的方法来自动创build目录如果不存在一些选项
现在,这是唯一的方法
- name: Ensures {{project_root}}/conf dir exists file: path={{project_root}}/conf state=directory - name: Copy file template: src: code.conf.j2 dest: "{{project_root}}/conf/code.conf"
要确保使用完整path成功,请使用recurse = yes
- name: ensure custom facts directory exists file: > path=/etc/ansible/facts.d recurse=yes state=directory
AFAIK,这可以做的唯一方法是使用state=directory
选项。 虽然template
模块支持大多数copy
选项,而这些选项又支持大多数file
选项,但不能像state=directory
使用它。 此外,这将是相当混乱(这是否意味着{{project_root}}/conf/code.conf
是一个目录?或者是否意味着应该首先创build{{project_root}}/conf/
。
所以我不认为这是可能的,而现在没有添加以前的file
任务。
- file: path: "{{project_root}}/conf" state: directory recurse: yes
您可以使用以下版本创build文件夹,具体取决于您的版本。
最新版本2 <
- name: Create Folder file: path: "{{project_root}}/conf" recurse: yes state: directory
旧版本:
- name: Create Folder file: path="{{project_root}}/conf" recurse: yes state=directory
请参阅 – http://docs.ansible.com/ansible/latest/file_module.html