Saltar al contenido

Ansible: cree varias carpetas si no existen

Indagamos por internet para brindarte la solución a tu inquietud, si continúas con dudas puedes dejar la pregunta y respondemos sin falta.

Solución:

Al usar los módulos de Ansible, no necesita verificar si algo existe o no, solo describe el estado deseado, entonces:

- name: create directory if they don't exist
  file:
    path: " item "
    state: directory
    owner: root
    group: root
    mode: 0775
  loop:
    - /data/directory
    - /data/another

Ansible: creación de varias carpetas sin cambiar los permisos de los existentes previamente.

Trabajando bien para mí. Espero que esto funcione para ti también, solo inténtalo.

---
- name: "Creating multiple by checking folders"
  hosts: your_host_name
  tasks:
  - block:
    - name: "Checking folders"
      stat:
       path: "item"
      register: folder_stats
      with_items:
      - ["/var/www/f1","/var/www/f2","/var/www/f3","/var/www/f4"]
    - name: "Creating multiple folders without disturbing previous permissions"
      file:
       path: "item.item"
       state: directory
       mode: 0755
       group: root
       owner: root
      when: item.stat.exists == false
      loop:
      - "folder_stats.results"
...

A partir de Ansible 2.5, loop debe usarse para iterar sobre una lista, consulte https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html#standard-loops

como el ansible file módulo es idempotente, no tiene que comprobar si las carpetas ya existen.

Por ejemplo:

- name: create backup directories
  file:
    path: " item "
    state: directory
    owner: backup
    group: backup
    mode: 0775
  loop:
    - /backupdisk/certificates
    - /backupdisk/mysql
    - /backupdisk/wordpress

Sección de Reseñas y Valoraciones

Finalizando este artículo puedes encontrar las crónicas de otros creadores, tú de igual manera eres capaz dejar el tuyo si lo deseas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *