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


当前回答

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

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

其他回答

你可以用以下方法之一来做这件事:

例1:如果父目录已经存在:

- name: Create a new directory www at given path 
  ansible.builtin.file:
    path: /srv/www/
    state: directory
    mode: '0755'

例2:父目录不存在:

- name: Create a new directory www at given path recursively
  ansible.builtin.file:
    path: /srv/www/
    state: directory
    mode: '0755'
    recurse: yes

在示例2中,如果两个目录都不存在,它将递归地创建它们。

有关file_module的更多信息,您可以查看官方文档

您可以创建目录。使用

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

你也可以咨询 http://docs.ansible.com/ansible/file_module.html 有关目录和文件系统的进一步详细信息。

您可以使用以下方法创建:

最新版本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

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

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

OR

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

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

enter code here 
- name: creating directory in ansible
  file:
   path: /src/www
   state: directory
   owner: foo

你可以参考可靠的文档