你如何创建一个目录www在/srv上基于debian的系统使用Ansible剧本?
当前回答
大家下午好。
我愿在此与大家分享以下几点。
- name: Validar Directorio
stat:
path: /tmp/Sabana
register: sabana_directorio
- debug:
msg: "Existe"
when: sabana_directorio.stat.isdir == sabana_directorio.stat.isdir
- name: Crear el directorio si no existe.
file:
path: /tmp/Sabana
state: directory
when: sabana_directorio.stat.exists == false
使用它可以在创建目录之前验证该目录是否存在
其他回答
目录只能使用文件模块创建,因为目录只是一个文件。
# create a directory if it doesn't exist
- file:
path: /etc/some_directory
state: directory
mode: 0755
owner: foo
group: foo
你可以用以下方法之一来做这件事:
例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的更多信息,您可以查看官方文档
你可以使用陈述句
- name: webfolder - Creates web folder
file: path=/srv/www state=directory owner=www-data group=www-data mode=0775`
您可以使用以下方法创建:
最新版本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
大家下午好。
我愿在此与大家分享以下几点。
- name: Validar Directorio
stat:
path: /tmp/Sabana
register: sabana_directorio
- debug:
msg: "Existe"
when: sabana_directorio.stat.isdir == sabana_directorio.stat.isdir
- name: Crear el directorio si no existe.
file:
path: /tmp/Sabana
state: directory
when: sabana_directorio.stat.exists == false
使用它可以在创建目录之前验证该目录是否存在
推荐文章
- 如何在一个可行的剧本中只运行一个任务?
- 如何使用Bash创建一个文件夹,如果它还不存在?
- 如何从查找“类型d”中排除此/ current / dot文件夹
- 如何定位父文件夹?
- 如何拉特定的目录与git
- 如何在远程系统上使用Ansible任务移动/重命名文件
- 从完整的文件名路径中获取文件夹名称
- 将Ansible剧本安全地限制在一台机器上?
- 如何在PATH中放置~/.composer/vendor/bin目录?
- 使用Python计算目录的大小?
- 如何在命令行中将变量传递给ansible playbook ?
- 如何递归地找到一个目录中最新修改的文件?
- 为Ansible指定sudo密码
- 写入新文件时自动创建整个路径
- 使用c#从一个文件夹中获取所有文件名