Flexibles Ansible Playbook: Daten effizient kopieren, überschreiben oder ergänzen

Dieses Ansible Playbook ist dein flexibles Werkzeug zum Kopieren, Überschreiben oder Ergänzen von Dateien und Verzeichnissen. Es hilft dir, diese Dateioperationen über verschiedene Hosts hinweg zu automatisieren, indem du einfach die im Playbook definierten Variablen anpasst. Mit diesem Skript kannst du effizient und konsistent Daten zwischen verschiedenen Speicherorten verschieben oder aktualisieren.

So funktioniert’s:

  • source_path: Der Pfad zur Quelle, die du kopieren, überschreiben oder ergänzen möchtest. Das kann ein Verzeichnis oder eine Datei sein.
  • dest_path: Der Zielpfad, an den die Daten übertragen werden sollen. Auch dies kann ein Verzeichnis oder eine Datei sein.
  • action: Bestimmt die Art der Dateioperation, die du durchführen willst. Mögliche Werte sind:
  • copy: Kopiert die Daten vom Quell- zum Zielpfad.
  • overwrite: Überschreibt die Daten am Zielpfad mit den Daten vom Quellpfad.
  • append: Fügt die Daten vom Quellpfad an die bestehenden Daten am Zielpfad an.

Die Aufgaben im Playbook

Das Playbook enthält drei Hauptaufgaben, die je nach dem Wert der action-Variable ausgeführt werden:

  1. Daten kopieren: Diese Aufgabe wird ausgeführt, wenn action auf copy gesetzt ist. Es verwendet das copy-Modul von Ansible, um die Daten vom Quellpfad zum Zielpfad zu kopieren.
  2. Daten überschreiben: Diese Aufgabe wird ausgeführt, wenn action auf overwrite gesetzt ist. Auch hier wird das copy-Modul verwendet, jedoch mit der zusätzlichen Option force: yes, damit die bestehenden Daten am Zielpfad überschrieben werden.
  3. Daten ergänzen: Diese Aufgabe wird ausgeführt, wenn action auf append gesetzt ist. Hier kommt ein Bash-Kommando zum Einsatz, das die Daten vom Quellpfad an die bestehenden Daten am Zielpfad anhängt.

Dieses Playbook bietet dir eine einfache und flexible Möglichkeit, verschiedene Dateioperationen in einem automatisierten Prozess durchzuführen. Es ist besonders praktisch, wenn du regelmäßig Daten zwischen verschiedenen Systemen synchronisieren oder aktualisieren musst.

---
- name: Flexibles Playbook zum Kopieren von Daten
  hosts: all
  vars:
    source_path: "/pfad/zur/quelle"  # Quellverzeichnis oder -datei
    dest_path: "/pfad/zum/ziel"      # Zielverzeichnis oder -datei
    action: "copy"                   # Mögliche Werte: copy, overwrite, append

  tasks:
    - name: Daten kopieren
      copy:
        src: "{{ source_path }}"
        dest: "{{ dest_path }}"
      when: action == "copy"

    - name: Daten überschreiben
      copy:
        src: "{{ source_path }}"
        dest: "{{ dest_path }}"
        force: yes
      when: action == "overwrite"

    - name: Daten ergänzen
      command: bash -c 'cat {{ source_path }} >> {{ dest_path }}'
      when: action == "append"

🤞 1x pro Monat unsere News, Tipps und Tutorials gebündelt direkt in dein Postfach!

Wir senden keinen Spam! Erfahre mehr in unserer Datenschutzerklärung.


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.