502 Stimmen

Wie man ein Verzeichnis mit Ansible erstellt

Wie erstellen Sie ein Verzeichnis www unter /srv auf einem auf Debian basierenden System mithilfe eines Ansible-Playbooks?

862voto

leucos Punkte 16781

Sie benötigen das ansible.builtin.file Modul. Um ein Verzeichnis zu erstellen, müssen Sie die Option state: directory angeben:

- name: Verzeichnis erstellen
  ansible.builtin.file:
    path: /src/www
    state: directory

Sie können weitere Optionen unter https://docs.ansible.com/ansible/latest/collections/ansible/builtin/file_module.html sehen

257voto

Arbab Nazar Punkte 21570

Sie können das Dateimodul sogar erweitern und sogar den Besitzer, die Gruppe und die Berechtigung darüber festlegen. (Ref: Ansible Dateidokumentation)

- name: Verzeichnis erstellen
  ansible.builtin.file:
    path: /src/www
    state: directory
    owner: www-data
    group: www-data
    mode: 0775

Sie können sogar die Verzeichnisse rekursiv erstellen:

- name: Verzeichnis erstellen
  ansible.builtin.file:
    path: /src/www
    state: directory
    owner: www-data
    group: www-data
    mode: 0775
    recurse: yes

Auf diese Weise werden beide Verzeichnisse erstellt, wenn sie nicht vorhanden waren.

32voto

Andrey Bistrinin Punkte 791

Zusätzlich zu allen Antworten hier gibt es viele Situationen, in denen Sie mehr als ein Verzeichnis erstellen müssen. Daher ist es eine gute Idee, Schleifen zu verwenden, anstatt für jedes Verzeichnis eine separate Aufgabe zu erstellen.

- name: erstellt mehrere Verzeichnisse in einer Aufgabe
  ansible.builtin.file:
    path: "{{ item }}"
    state: directory
  loop:
    - /srv/www
    - /dir/foo
    - /dir/bar

20voto

Sie können erstellen mit:

Neueste Version 2

- name: Ordner erstellen
  file: 
    path: /srv/www/
    owner: user 
    group: user 
    mode: 0755 
    state: directory

Ältere Version

- name: Ordner erstellen
  file: 
   path=/srv/www/
   owner=user 
   group=user 
   mode=0755 
   state=directory

Weiterführende Informationen - http://docs.ansible.com/ansible/file_module.html

17voto

Jayesh.c Punkte 179

Verzeichnis kann nur mit dem Dateimodul erstellt werden, da ein Verzeichnis nichts weiter als eine Datei ist.

# Verzeichnis erstellen, falls es nicht existiert
- Datei:
    Pfad: /etc/some_directory
    Status: Verzeichnis
    Modus: 0755
    Besitzer: foo
    Gruppe: foo

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X