如何使用Ansible创build一个目录
你如何使用Ansible手册在基于Debian的系统上的/srv
创build目录www
?
你想要的文件模块。 要创build一个目录,你需要指定选项state=directory
:
- name: Creates directory file: path=/src/www state=directory
你甚至可以扩展文件模块,甚至通过它设置所有者,组和权限。
- 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
你可以创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