DEV Community

dorinandreidragan
dorinandreidragan

Posted on

Simplify Config Updates with Ansible's Lineinfile

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

  1. 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" 
Enter fullscreen mode Exit fullscreen mode
  1. Update Configurations: Use lineinfile to 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 }}" 
Enter fullscreen mode Exit fullscreen mode

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)