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
каталог может быть создан только с помощью модуля file, так как каталог-это не что иное, как файл.
# 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'
согласно Ансибл документации, это может быть сделано путем определения следующие:
# 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
для получения дополнительной информации, пожалуйста, дайте мне знать.
Comments