Managing configuration files across servers can be tricky. Ansible's lineinfile module makes it easy to automate these changes while ensuring consistency and safety.
Quick Steps
- Define Variables: Create a dictionary with file path and configuration options:
vars: app_cfg_file: /etc/app/app.cfg app_cfg: max_connections: 200 timeout: 30 log_level: "INFO" - Update Configurations: Use
lineinfileto modify the file:
- name: Update config options lineinfile: path: "{{ app_cfg_file }}" regexp: "^{{ item.key }}=" line: "{{ item.key }}={{ item.value }}" backup: yes insertbefore: BOF loop: "{{ app_cfg | dict2items }}" Why Use It?
- Idempotent: Only changes what's necessary.
- Safe: Backups are timestamped for easy recovery.
- Efficient: Automates tedious manual edits.
Conclusion
With lineinfile, automating consistent updates across servers becomes a breeze. Give it a try!
Top comments (0)