你如何创建一个目录www在/srv上基于debian的系统使用Ansible剧本?


当前回答

在这种情况下,您需要使用文件模块。下面的剧本,你可以使用你的参考。

    ---
     - hosts: <Your target host group>
       name: play1
       tasks: 
        - name: Create Directory
          files:
           path=/srv/www/
           owner=<Intended User>
           mode=<Intended permission, e.g.: 0750>
           state=directory 

其他回答

只需要为特定的分配设置执行任务的条件

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

这里有一个更简单的方法。

—name:创建dir mkdir -p dir dir/a dir/b

我看到很多Playbooks的例子,我想提到Adhoc命令的例子。

$ansible -i inventory -m file -a "path=/tmp/ directory state=directory(我们可以用touch代替directory来创建文件)

在Ansible中创建目录的最简单方法。

name:如果your_directory不存在,创建该目录。 文件: 路径:/etc/your_directory

OR

您希望给该目录赋予sudo特权。

name:如果your_directory不存在,创建该目录。 文件: 路径:/etc/your_directory 模式:“777”

在本例中,您可以使用"file"模块,其中有许多参数可以传递给新创建的目录,如所有者、组、位置、模式等.....

关于文件模块的详细说明请参考本文档…

https://docs.ansible.com/ansible/latest/modules/file_module.html#file-module

记住这个模块不仅仅是用来创建目录的!!