====== ansible configuration management ====== ===== Installation ===== View installation instructions Debian: ''apt-get install ansible'' ===== First Steps ===== # ansible --version ansible 1.6.6 Add some host to ''/etc/ansible/hosts'' ansible all --list-hosts ansible all -m ping ansible all -a "/bin/date" ansible gal -m shell -a 'hostname && cat /etc/network/interfaces | grep bond' ansible all -m shell -a "rndc retransfer nizza.domain.net" ansible all -m copy -a "src=/etc/bind.slave/named.conf.local dest=/etc/bind/named.conf.local" ansible sat -m copy -a "src=/tmp/leap-seconds.list dest=/etc/leap-seconds.list owner=root group=root mode=0644" ===== Playbooks ===== Update Debian --- - hosts: all gather_facts: yes become: yes tasks: - name: Perform a dist-upgrade. ansible.builtin.apt: upgrade: dist update_cache: yes - name: Check if a reboot is required. ansible.builtin.stat: path: /var/run/reboot-required get_checksum: no register: reboot_required_file - name: Reboot the server (if required). ansible.builtin.reboot: when: reboot_required_file.stat.exists == true - name: Remove dependencies that are no longer required. ansible.builtin.apt: autoremove: yes tnx to [[https://www.jeffgeerling.com/blog/2022/ansible-playbook-upgrade-ubuntudebian-servers-and-reboot-if-needed|Jeff Gerling]]