如何使用Ansible创build一个目录

你如何使用Ansible手册在基于Debian的系统上的/srv创build目录www

你想要的文件模块。 要创build一个目录,你需要指定选项state=directory

 - name: Creates directory file: path=/src/www state=directory 

您可以在http://docs.ansible.com/file_module.html上看到其他选项;

你甚至可以扩展文件模块,甚至通过它设置所有者,组和权限。

 - name: Creates directory file: path: /src/www state: directory owner: www-data group: www-data mode: 0775 

甚至,您可以recursion地创build目录:

 - name: Creates directory file: path: /src/www state: directory owner: www-data group: www-data mode: 0775 recurse: yes 

这样,它将创build两个目录,如果它们不存在的话。

你可以创build使用:

最新版本2 <

 - name: Create Folder file: path: /srv/www/ owner: user group: user mode: 0755 state: directory 

较旧的版本

 - name: Create Folder file: path=/srv/www/ owner=user group=user mode=0755 state=directory 

请参阅 – http://docs.ansible.com/ansible/file_module.html

你可以创build一个目录。 运用

 # create a directory if it doesn't exist - file: path=/src/www state=directory mode=0755 

您也可以参考http://docs.ansible.com/ansible/file_module.html了解更多详情regaridng目录和文件系统。;

- file: path: /etc/some_directory state: directory mode: 0755 owner: someone group: somegroup

这就是您实际上也可以设置权限,所有者和组的权利的方式。 最后三个参数不是强制性的。

你可以使用这个语句

- name: webfolder - Creates web folder file: path=/srv/www state=directory owner=www-data group=www-data mode=0775

只需要把条件执行任务的具体分配

 - name: Creates directory file: path=/src/www state=directory when: ansible_distribution == 'Debian' 

根据Ansible文档 ,可以通过定义以下内容来完成:

 # create a directory if it doesn't exist - file: path: /etc/some_directory state: directory mode: 0755 

  • 主机:全部

    连接:本地

    任务:

    • 名称:创build目录

      file:path = / src / www

        state=directory 

以上剧本将在/ srcpath中创buildwww目录。

在运行上面的剧本之前。 请确保您的主持人连接应该设置,

“localhost ansible_connection = local”

应该存在于/ etc / ansible / hosts中

欲了解更多信息,请让我知道。

这里是更简单的方法。

- name: create dir command: mkdir -p dir dir/a dir/b