Как создать каталог с помощью Ansible
Как создать каталог www
at /srv
в системе на основе Debian с использованием Ansible playbook?
12 ответов
вам нужен файловый модуль. Чтобы создать каталог, необходимо указать опцию 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
даже, вы можете создавать каталоги рекурсивно:
- name: Creates directory
file:
path: /src/www
state: directory
owner: www-data
group: www-data
mode: 0775
recurse: yes
таким образом, он создаст оба каталога, если они не существовали.
вы можете создать с помощью:
последняя версия 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
- 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
каталог может быть создан только с помощью файлового модуля, так как каталог-это не что иное, как файл.
# create a directory if it doesn't exist
- file:
path: /etc/some_directory
state: directory
mode: 0755
owner: foo
group: foo
-матчи jayesh
вы можете создать каталог. используя
# 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
вы можете непосредственно запустить команду и создать непосредственно с помощью ansible
ansible -v targethostname -m shell -a "mkdir /srv/www" -u targetuser
или
ansible -v targethostname -m file -a "path=/srv/www state=directory" -u targetuser
---
- hosts: all
connection: local
tasks:
- name: Creates directory
file: path=/src/www state=directory
выше playbook создаст каталог www в / src пути.
перед запуском над playbook. Пожалуйста, убедитесь, что ваше соединение Ansible host должно быть установлено,
"localhost ansible_connection=local"
должен присутствовать в /etc/ansible / hosts
для получения дополнительной информации, пожалуйста, дайте мне знать.