# that works only when inventory_hostname is a true hostname - not just an ip #- name: hostname matches inventory # hostname: # name: "{{inventory_hostname}}" - name: fix /etc/hosts when fix_hosts ansible.builtin.blockinfile: path: /etc/hosts block: "{{ lookup('file', 'templates/blockinfile_hosts_ke') }}" prepend_newline: true append_newline: true diff: true when: fix_hosts == 'yes' - name: shared - check if gnu screen is installed ansible.builtin.shell: executable: /bin/bash cmd: "[[ -x `which screen` ]] && echo there || echo absent" register: gnu_screen changed_when: false check_mode: false - name: shared - backup and clean-up stock screenrc (no check mode) ansible.builtin.shell: executable: /bin/bash cmd: | if [[ -f /etc/screenrc.dist ]]; then echo already else mv -i /etc/screenrc /etc/screenrc.dist && \ grep -vE '^#|^$' /etc/screenrc.dist > /etc/screenrc.clean && \ grep -vE '^#|^$' /etc/screenrc.dist > /etc/screenrc && echo changed fi register: backup_screenrc changed_when: >- 'changed' in backup_screenrc.stdout when: gnu_screen.stdout == 'there' - name: shared - screenrc ansible.builtin.copy: src: templates/screenrc dest: /etc/ mode: 0644 diff: true when: gnu_screen.stdout == 'there' - name: shared - priviledged and system-wide helper scripts ansible.builtin.copy: src: "templates/{{item}}" dest: /usr/local/sbin/ mode: 0755 with_items: - what_eth_drivers.sh diff: true #- name: define MAILFROM in cron # ansible.builtin.cron: # name: MAILFROM # env: yes # job: root@{{inventory_hostname}}