Für solche Operationen funktioniert normalerweise lineinfile
Modul am besten; zum Beispiel:
- name: Ensure maxmemory is set to 2 MB
lineinfile:
dest: /path/to/redis.conf
regexp: maxmemory
line: maxmemory 2mb
oder mehrere Zeilen in einer Aufgabe ändern mit with_items
:
- name: Ensure Redis parameters are configured
lineinfile:
dest: /path/to/redis.conf
regexp: "{{ item.line_to_match }}"
line: "{{ item.line_to_configure }}"
with_items:
- { line_to_match: "line_to_match", line_to_configure: "maxmemory 2mb" }
- { line_to_match: "port", line_to_configure: "port 4096" }
Oder wenn Sie eine Basis Config erstellen möchten, schreiben Sie es in Jinja2 und verwenden ein template
Modul:
vars:
redis_maxmemory: 2mb
redis_port: 4096
tasks:
- name: Ensure Redis is configured
template:
src: redis.conf.j2
dest: /path/to/redis.conf
mit redis.conf.j2
enthält:
maxmemory {{ redis_maxmemory }}
port {{ redis_port }}
ich auf diese Weise gefunden habe; http://docs.ansible.com/ansible/replace_module.html aber ich bin mir nicht sicher, ob das der beste Weg ist! – Masterl1nk